Ich entwickle gerade eine Chrome-Erweiterung. Es erfüllt seinen Zweck, aber das Problem ist, dass das Inhaltsskript automatisch ausgeführt wird, wenn ich einen neuen Tab öffne und eine Site besuche. Das Problem ist, dass es eine Warnung im Inhaltsskript & gibt, die beginnt, nervig zu werden, wenn die Warnung beim Besuch jeder neuen Website ausgelöst wird.Inhaltsskript wird automatisch geladen
Derzeit trigger ich das Inhaltsskript aus meinem Hintergrundskript mithilfe der chrome.tabs.executeScript-API. Ich habe jedoch bemerkt, dass der Code im Inhaltsskript automatisch ausgeführt wird, wenn ich einen neuen Tab & öffne, um eine neue Site zu öffnen, selbst wenn die Kriterien dafür nicht im Hintergrundskript erfüllt wurden.
Ist das das normale Verhalten? Sollen alle Chrome-Erweiterungen funktionieren? Wenn ja, gibt es einen Weg dies zu verhindern? Für den Moment habe ich mein Inhaltsskript als Hintergrundskript deklariert, aber ich möchte immer noch eine Lösung dafür finden.
Hier ist mein Manifest - manifest.json:
"content_scripts" : [
{
"matches" : [ "<all_urls>"],
"js": ["raisealert.js"]
}
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
Hier ist der Hintergrund Skript - background.js:
if(condition met)
chrome.tabs.executeScript(null, {
code: 'var config = ' + JSON.stringify(config)
}, function() {
chrome.tabs.executeScript(null, {file: 'raisealert.js'}, function() {
console.log("Alarm triggered");
});
});
Und hier ist das Skript Inhalt - raisealert.js
alert("sample alert raised");
Nicht in Manifest deklarieren. Wie Sie in der Dokumentation sehen können, wird das Skript automatisch geladen. – wOxxOm
Ahhhh .... Vielen Dank. Weiß nicht, warum ich diesen Teil der Dokumentation vermisste. Ich dachte, es sei zwingend notwendig, jedes Skript in der Erweiterung im Manifest zu deklarieren. Wenn Sie Ihren Kommentar als Antwort geben, werde ich es akzeptieren. Danke @wOxxOm – Piyush