Frage

Kurz gesagt, ich arbeite an einer Google Chrome -Erweiterung. Die Erweiterungen haben keinen Zugriff auf Variablen im Bereich der Seite, auf der sie standardmäßig betrieben werden (Sie müssen über die DOM kommunizieren).

Was ich versuche zu tun ist ein Skript in die Seite; Dies funktioniert gut, indem ein Skript -Tag und ein SRC -Attribut definiert werden.

Das Problem ist, dass dieses Skript eine Variable benötigt, um vorher initialisiert zu werden. Um diese Variable zu initialisieren, versuche ich, ein Skriptelement mit seinem Code -Inline (anstatt aus einer externen Quelle geladen) zu konstruieren, aber ich habe Probleme, es zum Laufen zu bringen.

Ist das möglich und wenn ja, wie definiere ich die Quelle im Skript? Ich habe versucht, einen Textknoten anzuhängen, der die JS-Quelle an das Skriptelement enthält, aber ohne Erfolg.

War es hilfreich?

Lösung

Es ist scheiße, aber der beste Weg, dies zu tun, besteht wahrscheinlich darin, Ihre Daten zu kommunizieren, indem Sie sie in den DOM einfügen: http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication

Möglicherweise können Sie dies auch erreichen, indem Sie so etwas tun wie:

var script = document.createElement('script');
script.type = 'text/javascript';
script.text = 'alert("It works!");';
document.head.appendChild(script);

Ich habe das nicht getestet, aber ich vermute, es wird von Ihren Inhaltskripten funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top