0

Hallo alles, ich möchte das Skript laden, ob Benutzer auf meine Erweiterung Symbol klickt Dies ist meine Erweiterung funktioniert es gut, aber ich will es funktioniert, ohne den Benutzer klicken auf das Symbol zum Laden der Skripte ..Chrome-Erweiterung zum Laden des Skripts ohne Klick auf Symbol

Hier ist der Code.

{ 
    "name": "Injecta", 
    "version": "0.0.1", 
    "manifest_version": 2, 
     "description": "Injecting stuff", 

     "background": 
     { 
     "scripts": ["jquery.js","background.js"] 
       }, 
      "browser_action": { 
      "default_title": "Inject!" 
       }, 
       "permissions": [ 
       "https://*/*", 
       "http://*/*", 
       "tabs" 
        ] 
        } 

Das ist mein background.js

 chrome.browserAction.onClicked.addListener(function (tab) { 
     chrome.tabs.executeScript({ 
     file: 'jquery.js' 
      }); 
     chrome.tabs.executeScript({ 
      file: 'inject.js' 
      }); 
       }); 

Ich möchte nur die Erweiterung alle Skripte mit dem Laden der Seite zu laden. derzeit Benutzer auf das Symbol klicken, um die Skripte zu laden ..

+0

http://stackoverflow.com/questions/33484726/jquery-is-not-defined-in-chromes-javascript-console – miqdadamirali

+0

Es gibt keine akzeptierte Antwort .. – Lisa

Antwort

1

Was executeScript tut, ist im Grunde eine Content Script dynamisch erzeugt wird. Dies wird Programmatic Injection genannt.

Eine alternative Methode zum Arbeiten mit Inhaltsskripten ist specifying them in the manifest. Dadurch wird genau das erreicht, was Sie verlangen: Inhaltsskripte werden automatisch ausgeführt, wenn die Seite geladen wird.

"content_scripts" : [ 
    { 
    "js": ["jquery.js", "inject.js"], 
    "matches": ["*://*/*"] 
    } 
], 

einstellen matches Parameter nur match patterns für Seiten enthalten, die Sie auf ausführen möchten.

Stellen Sie sicher, dass Sie die Dokumentation des Parameters run_at überprüfen, wenn Sie eine Feineinstellung vornehmen müssen, wenn die Injektion erfolgt.

+0

können Sie helfen Sie mir auch, Daten an ein div der aktuellen Seite anzufügen. – Lisa

+0

Möglicherweise, aber das sollte eine neue Frage sein. Es scheint auch eine ziemlich grundlegende Frage zu sein - stellen Sie sicher, dass Sie [Ihre Forschung zuerst tun] (http://stackoverflow.com/help/how-to-ask). – Xan

-2

if (typeof jQuery === 'undefined') {}

+0

Dies wird die jQuery nicht hinzufügen .. – Lisa

Verwandte Themen