2017-05-26 100 views
1

我知道youtube現在使用標記嵌入了視頻<object>。我有一些遺留代碼需要使用<object>標記實現的全屏模式。是否有可能以某種方式強制使用<object>標記的原生全屏模式?youtube使用對象標記嵌入視頻全屏

<object 
    width="560" 
    height="350" 
    data="http://www.youtube.com/v/B8IIyYpqb5w&amp;fs=1" 
    type="application/x-shockwave-flash"> 

    <param name="wmode" value="opaque" /> 
    <param name="allowFullScreen" value="true" /> 
    <param name="src" value="http://www.youtube.com/v/B8IIyYpqb5w&amp;fs=1" /> 
</object> 

我也試過&fs=1&fullscreen=1參數中的URL,但沒有運氣。

回答

0

不幸的是,您必須改用。由於<object><embed>已根據w3schools從2015年1月起棄用,因此您正在經歷此限制。

在此基礎上片斷:

<body> 

<div> 
    <object 
    type="application/x-shockwave-flash" 
    data="http://www.youtube.com/v/Wd1Iz6j4WC0" 
    width="425" 
    height="355"> 
    <param name="movie" value="http://www.youtube.com/v/Wd1Iz6j4WC0"> 
    <param name="allowFullScreen" value="true"></param> 
    </object> 
</div> 

<iframe src="//www.youtube.com/embed/Wd1Iz6j4WC0" width="640" height="360" frameborder="0" allowfullscreen="allowfullscreen"></iframe> 


</body> 

對象標記不斷經歷「全屏不可用」,而IFRAME功能如預期。

或者你可以使用這個:下面

<!DOCTYPE html> 
<html> 
    <body> 
    <!-- 1. The <iframe> (and video player) will replace this <div> tag. --> 
    <div id="player"></div> 

    <script> 
     // 2. This code loads the IFrame Player API code asynchronously. 
     var tag = document.createElement('script'); 

     tag.src = "https://www.youtube.com/iframe_api"; 
     var firstScriptTag = document.getElementsByTagName('script')[0]; 
     firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

     // 3. This function creates an <iframe> (and YouTube player) 
     // after the API code downloads. 
     var player; 
     function onYouTubeIframeAPIReady() { 
     player = new YT.Player('player', { 
      height: '390', 
      width: '640', 
      videoId: 'M7lc1UVf-VE', 
      events: { 
      'onReady': onPlayerReady, 
      'onStateChange': onPlayerStateChange 
      } 
     }); 
     } 

     // 4. The API will call this function when the video player is ready. 
     function onPlayerReady(event) { 
     event.target.playVideo(); 
     } 

     // 5. The API calls this function when the player's state changes. 
     // The function indicates that when playing a video (state=1), 
     // the player should play for six seconds and then stop. 
     var done = false; 
     function onPlayerStateChange(event) { 
     if (event.data == YT.PlayerState.PLAYING && !done) { 
      setTimeout(stopVideo, 6000); 
      done = true; 
     } 
     } 
     function stopVideo() { 
     player.stopVideo(); 
     } 
    </script> 
    </body> 
</html> 

樣本HTML頁面創建一個嵌入式播放器:加載視頻,播放6秒鐘,然後停止播放。

希望得到這個幫助。