首頁 >web前端 >js教程 >如何將參數傳遞給 Chrome 擴充功能中的內容腳本?

如何將參數傳遞給 Chrome 擴充功能中的內容腳本?

DDD
DDD原創
2024-10-28 12:47:02645瀏覽

How to Pass Parameters to Content Scripts in Chrome Extensions?

使用chrome.tabs.executeScript() 將參數傳遞給內容腳本

使用chrome.tabs.executeScript() 注入內容腳本時,可能需要將參數傳遞給腳本檔案中的JavaScript。

方法 1:在腳本執行之前設定參數

而不是嘗試直接將參數傳遞給檔案中,請考慮在執行目標檔案之前註入內容腳本。此方法可讓您在載入檔案之前在全域範圍內設定變數:

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

方法2:在腳本執行後設定參數

另一種方法涉及設定使用訊息傳遞API 執行腳本檔案後的參數:

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

在內容腳本(content.js) 中,使用chrome.runtime.onMessage 監聽這些訊息,它允許您處理和使用參數:

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

以上是如何將參數傳遞給 Chrome 擴充功能中的內容腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn