chrome.webRequest.onBeforeRequest.addListener Cannot read property 'onBeforeRequest' undefined

Ich versuche meine eigenen bauen chrome-Erweiterung, und ich versuche, fügen Sie einen Ereignishandler mithilfe onBeforeRequest.

Meine manifest.json:

{
    "manifest_version": 2,

    "name": "My extension",
    "description": "some descrpition",
    "version": "1.0",
    "permissions": [
        "activeTab",
        "tabs",
        "webRequest",
        "webNavigation",
        "management",
        "http://*/*",
        "https://*/*"
    ],
    "background": {
        "scripts": [
            "js/jquery-2.1.4.min.js",
            "js/background.js"
        ],
        "persistent": true
     },
    "browser_action": {
        "default_icon": "imgs/img.png",
        "default_title": "extension"
    },
    "icons" : {
      "64" : "imgs/vergrootglas.png"  
    }
}

Meine background.js:

function callback(param1,param2,param3){
    alert(param1);
    alert(param2);
    alert(param3);
}
//alert("test");



chrome.webRequest.onBeforeRequest.addListener(callback);

Habe ich diese geladen in meinem chrome. Aber jedesmal bekomme ich diese Meldung in meiner Konsole:

Uncaught TypeError: Cannot read property 'onBeforeRequest' von
undefined

Ich kann nicht herausfinden, was ich bin oding falsch, ich habe dies gefunden:
https://developer.chrome.com/extensions/webRequest

Aber das Beispiel der code scheint zu sein, ziemlich das gleiche wie das, was ich Tue.
Was vermisse ich hier?

  • Sie können nicht tun, in einem content-script AFAIK
  • Möglich, Duplikat der CHROM-WebRequest-APIs Beispiel-Fehler: "onBeforeRequest" kann nur verwendet werden, in der extension-Prozesse
  • So, wie soll ich das dann machen?
  • die Kommunikation zwischen dem Skript-Erweiterung, und der Inhalt Skript verwenden, was bedeutet, dass chrome extension-API gibt Ihnen (ich kenne nur firefox addons sorry, Sie verwenden ?.port.emit und ?.port.on wo ? ist self oder etwas anderes - nicht sicher, dass chrom die gleiche Weise funktioniert
  • So, ich habe mich verändert, meine manifest.json so wird das Skript im hintergrund ausgeführt. Das ist, was ich verstanden von der von Ihnen angegebenen url.
  • das funktioniert auch ... ich nahm an, Sie musste etwas tun, in einem content-script
  • Nun, ich kann eine Warnung sobald die extension geladen wird. Aber wenn ich einen event-handler passiert nichts und ich bekomme keine Fehler oder Warnungen.
  • dies macht keinen Sinn. Können Sie laden Sie die Erweiterung, und verbinden Sie es in einem Kommentar hier? Auch die Verwendung console.log statt alert.
  • Bitte aktualisieren Sie den rest der Frage, und nicht nur den code. Die Fehlermeldung, die Sie beschreiben, nicht mehr gilt. Ich kann Ihre Frage beantworten, wenn Sie die änderungen.

Schreibe einen Kommentar