Youtube eingebettete iframe onReady- und onStateChange-Ereignisse, die nicht in Internet Explorer ausgelöst werden

8

Ich habe den Demo-Code des eingebetteten Youtube-Players Youtube-Embedded-Player-Demo-Code fast wortwörtlich kopiert - die Änderungen sind das Einfügen der Konsole. log, damit ich sehen kann, was vor sich geht.

%Vor%

Dies funktioniert wie vorgesehen in Safari und Firefox, das heißt, sobald die API die ausgewählten Videowiedergaben für sechs Sekunden lädt und die Datei console.log Beweise dafür enthält, dass die Ereignisse ausgelöst werden. Im Internet Explorer werden die Ereignisse onReady und onStateChange jedoch nicht ausgelöst. Das Video wird wiedergegeben, wenn ich manuell auf das Wiedergabesteuerelement im Player klicke, aber ich erhalte nicht die erwarteten onStateChange-Ereignisse.

Ich habe die Version von Flash auf meinem Computer überprüft und es ist: 11.2.202.228 und die aktuelle Version ist 12.0.0.70. Wenn ich Flash in IE deaktiviere (Add-ons verwalten), funktioniert der Player wie erwartet: Er spielt 6 Sekunden lang und Ereignisse werden ausgelöst.

Ich habe Flash nicht aktualisiert, da dies zwar das Problem auf meinem Computer beheben kann, meine Zielgruppe aber auf diejenigen beschränkt ist, die dasselbe tun können, und wenn ich aktualisiert würde, wäre ich nicht in der Lage herauszufinden, ob das Problem von anderen gelöst wurde bedeutet.

Ich habe auch versucht, den iframe manuell zu erstellen, wie in der obigen Youtube-Dokumentation erwähnt, dies funktionierte wie erwartet in Firefox und Safari, aber nicht im IE.

Es gibt einen Youtube-Demoplayer , der perfekt in Firefox funktioniert, die Play-, Pause- und Stop-Steuerung über die API-Arbeit und die Ereignisse werden deutlich ausgelöst, wenn die Ereignisse und Funktionsaufrufe auf dem Bildschirm im Abschnitt "Statistics" geschrieben werden. Im Gegensatz dazu, wenn ich mir das im IE anschaue, machen die Play-, Pause- und Stop-Kontrollen über die API nichts. Es gibt keine Ausgabe im Statistikbereich. Die einzige Möglichkeit zum Spielen und Anhalten besteht darin, die Tasten am Player zu verwenden. Wenn ich Flash deaktiviere, dann ist der Player & amp; API funktioniert perfekt.

Wenn ich versuche, eine Iframe-API nicht einzubetten, dann funktioniert der Player korrekt. Dies führt mich zu der Annahme, dass es sich um ein Problem handelt, das sich aus der Verwendung der API ergibt.

Ich weiß, einige würden sagen, dass alle Benutzer den neuesten Flash haben sollten, einfacher gesagt als getan. Viele Schulen, Firmen und Bibliotheken sperren den Optionsbereich in IE, damit der Benutzer Flash für meine Site deaktivieren kann.

Ich frage mich, ob es eine Möglichkeit gibt, Flash bei Verwendung der API auszuschalten?

Ich habe rund um Stackoverflow und anderswo gesucht und während ich ähnliche Probleme gefunden habe, habe ich keine Korrekturen gefunden. Ich fand eine ähnliche vielversprechende Hauptrolle, aber leider hatte ich keine Freude . Auch hier und hier und hier und hier und hier .

Ich muss darauf hinweisen, dass das Problem vorliegt, wenn es auf einem lokalen Computer und auf einer Website verwendet wird, und selbst wenn ich den Ursprungsparameter festlege.

Ich würde Vorschläge und Hilfe schätzen. Danke im Voraus.

    
user1558796 06.03.2014, 14:43
quelle

1 Antwort

0
  

Ich frage mich, ob es eine Möglichkeit gibt, Flash bei Verwendung der API auszuschalten?

Sie können den YouTube-Player mithilfe der folgenden Option dazu zwingen, seinen html5-Player zu verwenden:

%Vor%

Ändern Sie Ihren Code zu:

%Vor%     
Thomas Marstrander 01.11.2015 19:04
quelle