私はGreasemonkeyを使用して埋め込みvideojsビデオを開始しようとしています。ビデオはiframeで実行されており、私はTampermonkeyでクロムでビデオを開始することができましたが、Firefoxではビデオの読み込みが開始され、後で秒が停止します。私は次のスクリプトは、ページをリロードしたあと、あまりにも早く開始するので、私はsetTimeoutで開始を遅らせようとしましたが、コードは開始しません。だから私の質問は、iframe内でsetTimeoutを使用することは可能ですか?iframe内でsetTimeoutを実行することはできますか?
// ==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");
}
は私がhttps://openload.co/embed/ @include *のiframe内のスクリプトを実行するために、そうでない場合、私は、コマンド.playを使用することはできません使用します()。 iframeurlを手動で開き、FFコンソール上でコマンドを使用すると完全に動作します。
Firefoxで#videooverlayをクリックした後に自動的に動画が再生される可能性があります。 play()行をコメントアウトしてみてください。 – wOxxOm
ここに実際の問題が何であるかわかりません。あなたはタイムアウトを使用するコードを提示しますが、あなたの質問のタイトルはあなたがタイムアウトを使用できるかどうか尋ねます...タイムアウトはあなたのために働きますか? 'console.log'ログはコンソールに表示されますか? –
正しいウィンドウでコードを実行するのに '@include iframeurl'を使わないのはなぜですか? – w35l3y