2016-06-21 14 views
1

YouTubeの機能を変更するためにChrome拡張機能を書いています。私はコードをページに注入しており、特定の状況ではビデオのフルスクリーンをトリガーしようとしています。ビデオをフルスクリーンにするためにjavascriptをYouTubeに挿入する

私は考えることができるすべてを行ったが、役に立たない。

ビデオをダブルクリック:

$('video').click(); 
setTimeout(function() { 
    $('video').click(); 
}, 40); 

をしかし、この方法では動作しません。なぜ私は確信していませんが、私はYoutubeが「本当の」クリックか何かを期待していると思いますか?

'F' キー入力のシミュレーション:上記のバリエーションの

var event = document.createEvent("UIEvents"); 
event.initUIEvent("keypress", true, true, window, 1); 
event.keyCode = 70; 

そして数十人を、どれも動作するようには思えません。それがWebkitのものかもしれないと思う。

フォーマットにビデオにリンクする:https://www.youtube.com/v/<vid-id>。しかし、これは私の目的には合わないでしょう。なぜなら、私はページロードの後に​​再び呼び出す必要があるからです。

誰かがJavascript経由でページの読み込み後にYoutubeフルスクリーンを作成する方法に関するアイデアですか?

答えて

3

YouTubeはおそらくrequestFullScreen Javascript APIを使用してビデオプレーヤーをフルスクリーンにしています。

requestFullScreen APIの仕様ごとに、直接のユーザー操作によってトリガーされるである必要があります。

これは、ユーザーがクリックしたボタンやそのようなものがない限り、プレーヤーをフルスクリーンに強制することができないことを意味します。

関連SO質問:

Javascript request fullscreen is unreliable

+0

うん、あなたはポイントを有することができます。コンソールでは動作しますが、コードでは動作しません。なんてトロール。 –

2

あなたはこのような何かを試みることができる:あなたはダブルクリックをしたい場合は、単に(DBLCLICK使用

var vid = $("video"); 
if (vid.requestFullscreen) { 
    vid.requestFullscreen(); 
} else if (vid.mozRequestFullScreen) { 
    vid.mozRequestFullScreen(); 
} else if (vid.webkitRequestFullscreen) { 
    vid.webkitRequestFullscreen(); 
} 
1

)をjavascript関数。

また、ビデオでdblclickを実行する代わりに、youtubeビデオの全画面ボタンをクリックしてみることもできます。

関連する問題