2016-10-04 15 views
2

私は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コンソール上でコマンドを使用すると完全に動作します。

+1

Firefoxで#videooverlayをクリックした後に自動的に動画が再生される可能性があります。 play()行をコメントアウトしてみてください。 – wOxxOm

+0

ここに実際の問題が何であるかわかりません。あなたはタイムアウトを使用するコードを提示しますが、あなたの質問のタイトルはあなたがタイムアウトを使用できるかどうか尋ねます...タイムアウトはあなたのために働きますか? 'console.log'ログはコンソールに表示されますか? –

+0

正しいウィンドウでコードを実行するのに '@include iframeurl'を使わないのはなぜですか? – w35l3y

答えて

0

たぶん、あなたは親にとiframe内のスクリプトを起動するためにしようと試みます。この

window.addEventListener ("load", playerstart, false); 

function playerstart() { 

} 
+2

このコードがなぜ機能するのかを説明し、詳細を与えることはおそらく役に立ちます。 –

0

iframeで読み込んだページに「onload」イベントリスナーを追加し、load関数でsetTimeoutを追加するといいでしょう。

Firefoxで再生していない理由を理解するためには、より大きな問題があると思います。エンコードの問題ですか? FFが演奏できるソースにはありますか? Miro Video Converterが役立ちます。

+0

に追加しました。このソースはopenload.coによってホストされていて、プレイヤーはビデオautoを開始しようとするウェブサイトに埋め込まれています。 URLをロードした後私が手動でビデオを開始すると正常に動作するので、エンコードの問題ではないと思います。 – Hopi

0

のようなものを試してみてください?次に、setTimeoutを使用します。

+0

コードを入力してください –

+0

私はiframe内のスクリプトと対話できないと思いましたか? – Hopi

関連する問題