Google Chrome Extension - warten, bis Seite geladen
-
26-09-2019 - |
Frage
In meiner Google Chrome Extension habe ich ein Inhalt Script (Inhalt. js) und eine Hintergrund Seite (background.html). Ich habe context.js für ein Schlüsselwort Überprüfung, die auf der Seite angezeigt wird. Allerdings möchte ich warten, bis die Seite vollständig, bis ich die Seite geladen ist suchen, weil das Schlüsselwort am unteren Rand der Seite auftreten können.
Siehe Seite Aktion Inhalt Sandwich Beispiel ( Dateien ), ist dies im Grunde was mache ich. Wenn Sie die Erweiterung geladen werden Sie die Erweiterung sehen nur funktioniert, wenn das Wort „Sandwich“ am oberen Rand der Seite angezeigt wird.
Lösung
Versuchen Sie dies auf den „content_scripts“ Teil Ihrer manifest.json Datei hinzuzufügen.
"run_at": "document_end"
http://code.google.com/chrome/extensions/content_scripts.html
Andere Tipps
Als Alternative zum Manifest des "run_at": "document_end"
, könnte es einen Standard-JavaScript-Event-Handling-Ansatz angewandt werden. Zum Beispiel DOMContentLoaded Ereignis verwendet werden könnte, um die Logik zu laufen, dass erfordert geladenen DOM.
manifest.json
"content_scripts": [
"js": ["content.js"],
"run_at": "document_start"
}
]
content.js
console.log('The extension works');
// ... logic that does not need DOM
function run() {
console.log('The DOM is loaded');
// ... logic that needs DOM
}
document.addEventListener("DOMContentLoaded", run);