1
我想定期設立一個背景腳本內容提取數據,並將其寫入文件(一種網頁刮)Chrome擴展的內容調用回調的背景,但參數是未定義
不幸的是我被困在最開始:
背景將消息發送到內容和調用回調,但該參數不正確傳遞,這是「未定義」無論我嘗試...
清單:
{
"manifest_version": 2,
"name": "Test Extension",
"version": "0.0",
"background": {
"persistent": false,
"scripts": ["background.js"]
},
"content_scripts": [{
"matches" : ["<all_urls>"],
"js": ["content.js"]
}],
"browser_action": {
"default_title": "Test Extension"
},
"permissions": ["activeTab"]
}
個
content.js
chrome.runtime.onMessage.addListener(function (msg, sender, sendResponse) {
if (msg.text === 'report_back') {
sendResponse({data: "goodbye"});
}
});
background.js
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.sendMessage(tab.id, {text: 'report_back'}, function(response) {
console.log(response.data);
});
});
你是對的!但有趣的是,如果一旦我得到它,每次獨立選擇哪個選項卡,就會拋出失敗。我必須重新啓動(或者至少重新加載擴展名) 但這只是第一步:我真正需要的是在網站上動態更改字段的定期加載(每隔1-5秒)。所以,而不是「onClick」我想使用setInterval方法,但我如何獲得tabID? – Wolfgang
@WolfgangHaring首先,不需要重新加載擴展程序,只需要加載當前頁面。其次,當你點擊擴展圖標時,你需要使用相同的功能,但是你希望它每隔1-5秒在每個頁面上始終發生?我想我回答了你目前的問題,但如果你需要更多關於Chrome擴展的問題,我會幫忙的。 – PredatorIWD
我欣賞!我會嘗試重新加載頁面。我只需要間隔的事情。點擊擴展按鈕是我的出發點。 – Wolfgang