2016-06-30 12 views
0

Meine Chrome-Erweiterung scheint in keiner Weise console.log auszuführen. Es überspringt es.console.log - Die Chrome-Erweiterung führt console.log nicht aus, sie überspringt einfach die Datei console.log

console.log funktioniert: Ich kann die Konsole öffnen, geben Sie console.log('test'); und es funktioniert. Es funktioniert von anderen Skripts, d. H. Einem JS-Skript, das lokal in eine HTML-Seite geladen wird, aber nicht von meiner Erweiterung.

Meine background.js, dass ich unten manifest.json durchlaufen. Es führt alert(), aber nicht console.log

chrome.browserAction.onClicked.addListener(function(tab) { 
    chrome.tabs.executeScript(null, { file: "jquery-3.0.0.min.js" }, function() { 

     console.log('----'); 

     alert('Hello!); 

    }); 
}); 

Ich habe versucht:

  • delete console.log, delete window.console und delete window[console] wie Restoring console.log() und JavaScript console log in Magento vorgeschlagen, aber ohne Erfolg.
  • geladen die Erweiterung im Inkognito-Modus, ohne andere Erweiterungen geladen, aber keinen Erfolg.
  • aktualisiert background.js aus nur einer einzigen Zeile bestehen - console.log('----'); - immer noch nicht funktioniert.
  • stellen Sie sicher, dass die Konsole "Alle" meldet, nicht nur Fehler.

Mein manifest.json:

{ 

    "manifest_version": 2, 

    "name": "My Chrome Extension", 
    "description": "This extension will you save time.", 
    "version": "1.0", 

    "permissions": [ 
    "http://*/*", 
    "https://*/*", 
    "tabs" 
    ], 

    "browser_action": { 
    "name": "Click to start the extension" 
    }, 

    "background": { 
    "scripts": ["background.js"] 
    } 

} 
+2

Hintergrund Seite, Popup-Seite, Web-Seite sind alle separaten Fenster und hat ihre eigene Konsole. Die Hintergrundseitenkonsole kann auf der Seite chrome: // extensions geöffnet werden, wenn [x] Entwicklermodus aktiviert ist. Ich glaube, diese Frage wurde oft gestellt. – wOxxOm

+0

@wOxxOm _ "Ich glaube, diese Frage wurde oft gestellt." _ Sie liegen nicht falsch. – Xan

+0

Das Problem bestand tatsächlich darin, dass ich die executeScipts in meiner background.js nicht ausführte. Auf diese Weise habe ich Konsolenprotokolle in die aktive Fensterkonsole eingefügt. – Lee

Antwort

2

Die Konsole für die Erweiterung ist in einem separaten window.You können Ihre console.log() Nachrichten inspizieren:

  1. Zum chrome://extension

  2. Aktivieren Sie den Entwicklermodus

  3. Klicken Sie auf „Hintergrundseite“ -Link auf der „Inspect Ansichten“ -Linie

  4. Die Entwicklerkonsole für Ihre Erweiterung wird hier öffnen.

Credits: Where to read console messages from background.js in a Chrome extension?