我的編碼知識大多是自學成才和有限的。多個iframe嵌入youtube API
我有一個論壇,我已經設置爲替換視頻嵌入iframe的帖子中的youtube網址。其中一個獨特的方面是,即使播放器小於YouTube建議,它也會強制嵌入播放720p質量(如果可用)。 「爲什麼」是一個漫長的故事,但我想繼續這樣做。我試圖用新的API來處理相同的事情。
在下面的示例代碼中,我可以讓它在頁面上的一個視頻上工作,但不能在同一頁上。我想這與重複函數或某些事情有關。
<html><body>
<script>
\t var tag = document.createElement('script');
\t tag.src = "https://www.youtube.com/iframe_api";
\t var firstScriptTag = document.getElementsByTagName('script')[0];
\t firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
\t var xyzplayer;
\t function onYouTubeIframeAPIReady() {
\t xyzplayer = new YT.Player('xyzplayer', {
\t \t events: {
\t \t \t 'onStateChange': onPlayerStateChange
\t \t \t }
\t \t });
\t }
\t function onPlayerStateChange(event) {
\t if (event.data == YT.PlayerState.PLAYING) {
\t event.target.setPlaybackQuality('hd720');
\t \t }
\t }
</script>
<iframe id="xyzplayer" type="text/html" width="832" height="468" src="http://www.youtube.com/embed/M7lc1UVf-VE?enablejsapi=1&html5=1" frameborder="0"></iframe>
<br><br><br>
<script>
\t var tag = document.createElement('script');
\t tag.src = "https://www.youtube.com/iframe_api";
\t var firstScriptTag = document.getElementsByTagName('script')[0];
\t firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
\t var abcplayer;
\t function onYouTubeIframeAPIReady() {
\t abcplayer = new YT.Player('abcplayer', {
\t \t events: {
\t \t \t 'onStateChange': onPlayerStateChange
\t \t \t }
\t \t });
\t }
\t function onPlayerStateChange(event) {
\t if (event.data == YT.PlayerState.PLAYING) {
\t event.target.setPlaybackQuality('hd720');
\t \t }
\t }
</script>
<iframe id="abcplayer" type="text/html" width="832" height="468" src="http://www.youtube.com/embed/IwfUnkBfdZ4?enablejsapi=1&html5=1" frameborder="0"></iframe>
</body></html>
這是什麼都與Java呢? –
你說得對。 JavaScript Player API已棄用。刪除了該標籤。 – krrrrak