簡體   English   中英

Chrome擴展程序 - 僅在單擊按鈕時運行內容腳本

[英]Chrome Extension - Run content script only when button is clicked

我看起來很好看,但我似乎無法找到並回答這個問題(好吧,無論如何,這個問題對我有用)。

我制作了一個Chrome擴展程序,只需單擊圖標就可以運行我的內容腳本中的代碼,但它會在頁面加載后立即運行。 有沒有辦法防止這種情況發生? 我可以為run_at輸入的任何可能的字符串都不能滿足這一要求。

以下是兩個腳本中的示例代碼:

內容腳本:

function runIt() {
    console.log('working');
}
runIt();

background.js:

chrome.browserAction.onClicked.addListener(function(activeTab) {
    chrome.tabs.executeScript(null, {file: "content.js"});
});

它會在頁面加載后立即記錄“工作”,然后在每次按鈕后單擊。 有沒有辦法在頁面加載后立即停止運行?

提前感謝所有貢獻。

您的后台頁面中的browserAction.onClicked代碼完全符合您的要求。 如果要阻止content.js在頁面加載時作為內容腳本運行, 則不要將其作為內容腳本包含在清單中。

具體來說,在manifest.json文件中,您有一些看起來像這樣的行:

"content_scripts": [
  {
    "matches": ["*://*/*"],
    "js": ["content.js"]
  }
],

只需刪除這些行,腳本將在頁面加載時停止運行,而您的單擊偵聽器代碼將繼續工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM