Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menghantar Parameter ke Skrip Kandungan dalam Sambungan Chrome?

Bagaimana untuk Menghantar Parameter ke Skrip Kandungan dalam Sambungan Chrome?

DDD
DDDasal
2024-10-28 12:47:02641semak imbas

How to Pass Parameters to Content Scripts in Chrome Extensions?

Melalui Parameter ke Skrip Kandungan dengan chrome.tabs.executeScript()

Apabila menggunakan chrome.tabs.executeScript() untuk menyuntik skrip kandungan , mungkin perlu menghantar parameter kepada JavaScript dalam fail skrip.

Kaedah 1: Tetapkan Parameter Sebelum Pelaksanaan Skrip

Daripada cuba menghantar parameter terus ke fail, pertimbangkan untuk menyuntik skrip kandungan sebelum melaksanakan fail sasaran. Kaedah ini membolehkan anda menetapkan pembolehubah dalam skop global sebelum fail dimuatkan:

<code class="javascript">chrome.tabs.executeScript(tab.id, {
  code: 'var config = 1;'
}, function() {
  chrome.tabs.executeScript(tab.id, {file: 'content.js'});
});</code>

Kaedah 2: Tetapkan Parameter Selepas Perlaksanaan Skrip

Pendekatan lain melibatkan penetapan parameter selepas fail skrip telah dilaksanakan menggunakan API penghantaran mesej:

<code class="javascript">chrome.tabs.executeScript(tab.id, {file: 'content.js'}, function() {
  chrome.tabs.sendMessage(tab.id, 'whatever value; String, object, whatever');
});</code>

Dalam skrip kandungan (content.js), dengar mesej ini menggunakan chrome.runtime.onMessage, yang membolehkan anda mengendalikan dan gunakan parameter:

<code class="javascript">chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
  // Handle message.
  // In this example, message === 'whatever value; String, object, whatever'
});</code>

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Parameter ke Skrip Kandungan dalam Sambungan Chrome?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn