JavaScript(管状视频背景)并不总是加载和运行。有时的确如此

JavaScript(管状视频背景)并不总是加载和运行。有时的确如此,javascript,jquery,html,tubular,Javascript,Jquery,Html,Tubular,我在Weebly.com网站上有一些JavaScript。一种是管状的,它向选定的元素添加视频背景。但它并不总是正确加载,也不总是运行。有时候会,通常不是在刷新时,而是在我用Chrome打开新窗口并加载站点时 JavaScript不总是被加载和运行的原因是什么? JSFIDLE上的管道和示范工程代码: 按下CTRL+SHIFT+J时在Chrome中看到的内容 我在外部文件上的脚本加载顺序正好在结束正文标记之前,高于其他脚本 这是我的HTML文件中调用视频的脚本。管状代码在jquery_tuber

我在Weebly.com网站上有一些JavaScript。一种是管状的,它向选定的元素添加视频背景。但它并不总是正确加载,也不总是运行。有时候会,通常不是在刷新时,而是在我用Chrome打开新窗口并加载站点时

JavaScript不总是被加载和运行的原因是什么? JSFIDLE上的管道和示范工程代码: 按下CTRL+SHIFT+J时在Chrome中看到的内容

我在外部文件上的脚本加载顺序正好在结束正文标记之前,高于其他脚本

这是我的HTML文件中调用视频的脚本。管状代码在jquery_tuberal.js中。请参阅上面JSFIDLE链接中的代码


我认为这个问题与ytapi没有触发ready事件有关

只需在setTimeout函数中更改window.onyoutubeiframeapiredy=函数

window.onYouTubeIframeAPIReady = function() {
     setTimeout(function(){
        player = new YT.Player('tubular-player', {
            width: options.width,
            height: Math.ceil(options.width / options.ratio),
            videoId: options.videoId,
            playerVars: {
                controls: 0,
                showinfo: 0,
                modestbranding: 1,
                wmode: 'transparent'
            },
            events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange
            }
        });
    },600);
  };
我在这里找到了解决方案:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript" src="/files/theme/jquery_tubular.js"></script>
<script type="text/javascript" src="/files/theme/smoothscroll.js"></script>
<script type="text/javascript" src="/files/theme/bigtext.js"></script> 
<script type="text/javascript"> 
        jQuery().ready(function() {
        jQuery('#video-bg').tubular({videoId: 'a2pu_xhBnzY’});
        }); 
</script> 
window.onYouTubeIframeAPIReady = function() {
     setTimeout(function(){
        player = new YT.Player('tubular-player', {
            width: options.width,
            height: Math.ceil(options.width / options.ratio),
            videoId: options.videoId,
            playerVars: {
                controls: 0,
                showinfo: 0,
                modestbranding: 1,
                wmode: 'transparent'
            },
            events: {
                'onReady': onPlayerReady,
                'onStateChange': onPlayerStateChange
            }
        });
    },600);
  };