2017-06-12 3 views
0

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 

Antwort

2

Die browser.webRequest ist in dem Content-Skripte nicht zur Verfügung. Bitte versuchen Sie die testOnErrorWebex.js zu ändern im Hintergrund läuft, wie Sie in dem folgende geändertenen Manifest finden:

{ 

    "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" 
    ] 
} 
+0

Das ist, was ich habe: 'Der webRequest.addListener Filter überlappt nicht mit dem Host-permissions'. – user6875880

+0

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? –

+0

Überhaupt nicht. Ich habe deinen Beitrag kopiert. Ich arbeite an Nightly 54. – user6875880

Verwandte Themen