我一直在搜索所有SO,並通過谷歌文檔閱讀,但我似乎無法找到解決方案。內容腳本:未捕獲TypeError:無法讀取undefined屬性'onRequest'
我的Chrome擴展正在注入一個內容腳本,我想設置一個onRequest.listener
以便將請求發送到內容腳本。這是我以前用於onRequest.listener
的the script。問題是我不斷收到這個錯誤,原因不明。
錯誤消息:
Uncaught TypeError: Cannot ready property 'onRequest' of undefined
contentscript.js line 1;
下面是相關的代碼...
manifest.json的
{
"name": "Injector Extension",
"version": "1.0",
"manifest_version": 1,
"icons": { "128": "icon.png" },
"browser_action": {
"default_icon": "icon.png",
"default_title": "Injector Extension",
"default_popup": "popup.html"
},
"options_page": "options.html",
"background": {
"page": "background.html"
},
"permissions": [
"tabs",
"http://*/*",
"https://*/*",
"unlimitedStorage"],
"content_scripts": [{
"matches": [" (injector specific url) "],
"js": ["contentscript.js"]
}],
"web_accessible_resources": ["js/script.js"]
}
內容腳本
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
if (request.method == "fromPopup") {
// Send JSON data back to Popup.
sendResponse({data: "from Content Script to Popup"});
} else {
sendResponse({}); // snub them.
}
});
彈出
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {method: "fromPopup", tabid: tab.id}, function(response) {
console.log(response.data);
});
});
調試器的請不要張貼圖片,只需交錯誤消息以及錯誤發生時給定代碼的哪一行。 – Bergi
已編輯的問題。 –