Ich versuche, Fehler mit webextension zu protokollieren. Ich habe das follwoing einfaches Beispiel für den Anfang:TypeError: browser.webRequest ist undefined
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"
]
}
Und das Content-Skript: 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]}
);
Wenn ich die Erweiterung versuchen, es zu laden, geben Sie dann jede schlechte URL, die einen Fehler auslöst: z. B. https://doesnotexist/
Die folgende Zeile aus dem Conten t-Skript wird gedruckt:
-- inside js file --
Aber ich bekomme diese eerro:
TypeError: browser.webRequest is undefined
Das ist, was ich habe: 'Der webRequest.addListener Filter überlappt nicht mit dem Host-permissions'. – user6875880
Es funktioniert ohne Problem in FF 53.0.3 auf Ubuntu. Versuchen Sie etwas anderes als den von Ihnen geposteten Code, oder protokollieren Sie nur die Antworten? –
Überhaupt nicht. Ich habe deinen Beitrag kopiert. Ich arbeite an Nightly 54. – user6875880