2015-10-23 90 views
0

我有以下代碼來替換iframe的src以在每次加載頁面時都有隨機視頻。但是頁面只是繼續加載並繼續運行該功能。如何停止重複功能。如何停止重複加載

<div id="rightsugg"><iframe id="randomVideo" width="560" height="315" src="" onLoad="displayRandomVideo();" frameborder="0" allowfullscreen></iframe></div> 
        <script type="text/javascript"> 
         function getRandomVideo() { 
          var videos = [ 
           'https://www.youtube.com/embed/kiTO7c_qeZs', 
           'https://www.youtube.com/embed/z4Hfv00eqoI', 
           'https://www.youtube.com/embed/7cdZYQB5ONE', 
           'https://www.youtube.com/embed/i1gE3nyQnKg', 
          ]; 
          var video = videos[Math.floor(Math.random()*videos.length)]; 

          return video; 
         } 

         function displayRandomVideo() { 
          var htmlVideo = document.getElementById("randomVideo"); 
          htmlVideo.src = getRandomVideo(); 
         } 
         displayRandomVideo(); 
        </script> 

回答

1

只要在顯示完videa後取消註冊onLoad事件。

function displayRandomVideo() { 
     var htmlVideo = document.getElementById("randomVideo"); 
     htmlVideo.src = getRandomVideo(); 
     htmlVideo.onload=null; 
} 

jsfiddle

0

你爲什麼要使用IFRAME的onload事件擺在首位?

$(window).load(displayRandomVideo); 

會做到這一點,只是刪除< iframe>標記中的onload屬性。