638 Stimmen

Zugriff auf im Seitenkontext definierte Variablen und Funktionen über ein Inhaltsskript

Ich lerne gerade, wie man Chrome-Erweiterungen erstellt. Ich habe gerade angefangen, eine zu entwickeln, um YouTube-Ereignisse abzufangen. Ich möchte sie mit dem YouTube-Flash-Player verwenden (später werde ich versuchen, sie mit HTML5 kompatibel zu machen).

manifest.json:

{
    "name": "MyExtension",
    "version": "1.0",
    "description": "Gotta catch Youtube events!",
    "permissions": ["tabs", "http://*/*"],
    "content_scripts" : [{
        "matches" : [ "www.youtube.com/*"],
        "js" : ["myScript.js"]
    }]
}

myScript.js:

function state() { console.log("State Changed!"); }
var player = document.getElementById("movie_player");
player.addEventListener("onStateChange", "state");
console.log("Started!");

Das Problem ist, dass die Konsole mir die Meldung "Angefangen!" aber es gibt keine "Zustand geändert!" wenn ich YouTube-Videos abspiele/anhalte.

Wenn dieser Code in die Konsole eingegeben wird, funktioniert er. Was mache ich falsch?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X