Ich versuche ein eingebettetes videojs Video mit Greasemonkey zu starten. Das Video läuft in einem iframe und ich konnte das Video in Chrome mit Tampermonkey starten, aber in Firefox beginnt das Video zu laden und stoppt eine Sekunde später. Ich denke, mein folgendes Skript startet zu früh, nachdem ich die Seite neu geladen habe, also habe ich versucht, den Start mit setTimeout zu verzögern, aber der Code wird nicht gestartet. Also meine Frage ist es möglich, setTimeout innerhalb eines iframe zu verwenden?Ist es möglich, setTimeout in einem iframe auszuführen?
// ==UserScript==
// @name Autoplay
// @namespace openload
// @include https://openload.co/embed/*
// @version 1.0.0
// @run-at document-idle
// ==/UserScript==
window.setTimeout(play, 5000);
function play()
{
console.log("Start");
document.querySelector('#videooverlay').click();
videojs.getPlayers()['olvideo'].player_.play();
console.log("End");
}
Ich benutze @include https://openload.co/embed/ * das Skript innerhalb des iframe laufen sonst kann ich nicht den Befehl .play() verwenden. Wenn ich den iframeurl manuell öffne und die Befehle über die FF-Konsole verwende, funktioniert es einwandfrei.
Es ist wahrscheinlich, dass in Firefox das Video automatisch abgespielt wird, nachdem #videooverlay angeklickt wurde. Versuchen Sie, die play() -Zeile zu kommentieren. – wOxxOm
Ich kann nicht sehen, was das eigentliche Problem hier ist. Sie präsentieren Code, der Timeout verwendet, aber der Titel Ihrer Frage fragt, ob Sie Timeout verwenden können ... Funktioniert das Timeout für Sie? Werden die 'console.log' Protokolle in der Konsole angezeigt? –
Warum verwenden Sie '@include iframeurl' nicht, um den Code im richtigen Fenster auszuführen? – w35l3y