你如何阻止重载

时间:2015-10-23 10:01:14

标签: javascript jquery html html5

我有以下代码来替换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>

2 个答案:

答案 0 :(得分:1)

在显示视频后,只需取消注册onLoad事件。

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

jsfiddle

答案 1 :(得分:0)

为什么首先使用 iframe 的onload事件?

$(window).load(displayRandomVideo);

会这样做,只需删除&lt; iframe&gt;中的onload属性即可。标签