TypeError: browser.webRequest is undefined
TypeError: browser.webRequest is undefined
我正在尝试使用 webextension 记录错误。我从以下简单示例开始:
manifest.json
:
{
"manifest_version": 2,
"name": "testOnErrorWebex",
"version": "1.0",
"description": "Adds a red border to all webpages matching mozilla.org.",
"icons": {
"48": "icons/border-48.png"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["testOnErrorWebex.js"]
}
],
"permissions": [
"webRequest"
]
}
并且,内容脚本:testOnErrorWebex.js
console.log("-- inside js file --");
var target = "<all_urls>";
/*
e.g., with no network:
"https://developer.mozilla.org/en-US/"
NS_ERROR_NET_ON_RESOLVED in Firefox
net::ERR_INTERNET_DISCONNECTED in Chrome
*/
function logError(responseDetails) {
console.log("-- inside logError --");
console.log("inside logError");
console.log(responseDetails.url);
console.log(responseDetails.error);
}
browser.webRequest.onErrorOccurred.addListener(
logError,
{urls: [target]}
);
当我尝试扩展并加载它时,输入任何会引发错误的错误 URL:
例如,https://doesnotexist/
打印内容脚本中的以下行:
-- inside js file --
但我得到了这个错误:
TypeError: browser.webRequest is undefined
browser.webRequest
在内容脚本中不可用。
请尝试在后台将 testOnErrorWebex.js
更改为 运行,您可以在以下更改后的清单中找到:
{
"manifest_version": 2,
"name": "testOnErrorWebex",
"version": "1.0",
"description": "Adds a red border to all webpages matching mozilla.org.",
"background": {
"scripts": ["testOnErrorWebex.js"]
},
"permissions": [
"webRequest"
]
}
我正在尝试使用 webextension 记录错误。我从以下简单示例开始:
manifest.json
:
{
"manifest_version": 2,
"name": "testOnErrorWebex",
"version": "1.0",
"description": "Adds a red border to all webpages matching mozilla.org.",
"icons": {
"48": "icons/border-48.png"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["testOnErrorWebex.js"]
}
],
"permissions": [
"webRequest"
]
}
并且,内容脚本:testOnErrorWebex.js
console.log("-- inside js file --");
var target = "<all_urls>";
/*
e.g., with no network:
"https://developer.mozilla.org/en-US/"
NS_ERROR_NET_ON_RESOLVED in Firefox
net::ERR_INTERNET_DISCONNECTED in Chrome
*/
function logError(responseDetails) {
console.log("-- inside logError --");
console.log("inside logError");
console.log(responseDetails.url);
console.log(responseDetails.error);
}
browser.webRequest.onErrorOccurred.addListener(
logError,
{urls: [target]}
);
当我尝试扩展并加载它时,输入任何会引发错误的错误 URL:
例如,https://doesnotexist/
打印内容脚本中的以下行:
-- inside js file --
但我得到了这个错误:
TypeError: browser.webRequest is undefined
browser.webRequest
在内容脚本中不可用。
请尝试在后台将 testOnErrorWebex.js
更改为 运行,您可以在以下更改后的清单中找到:
{
"manifest_version": 2,
"name": "testOnErrorWebex",
"version": "1.0",
"description": "Adds a red border to all webpages matching mozilla.org.",
"background": {
"scripts": ["testOnErrorWebex.js"]
},
"permissions": [
"webRequest"
]
}