首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery.mb.YTPlayer.js在使用InstantClick.js加载初始页面后无法工作

jquery.mb.YTPlayer.js在使用InstantClick.js加载初始页面后无法工作
EN

Stack Overflow用户
提问于 2015-03-20 10:37:19
回答 1查看 2.2K关注 0票数 1

在用jquery.mb.YTPlayer.js加载初始页面之后,有什么办法使InstantClick.js工作吗?

该插件在初始页面加载时运行良好,但之后就不再工作了。

下面是我最初是如何初始化它的,它在加载页面时工作得很好,但在进一步导航之后就不会了:

app.js

代码语言:javascript
运行
复制
InstantClick.on('change', function() {
        $(".player").mb_YTPlayer();
});

然后,我花了几个小时试图调试,最后得到了这样的结果:

app.js

代码语言:javascript
运行
复制
InstantClick.on('change', function() {
    if ($(".mbYTP_wrapper")[0]){
        $(".player").playerDestroy();
        console.log('destroyed');
    }
    if (window.YT) {
        console.log(window.YT);
    }

    $(".player").mb_YTPlayer();
});

jquery.mb.YTPlayer.js中,我尝试将其添加到.playerDestroy中:

代码语言:javascript
运行
复制
playerDestroy: function () {
        jQuery("#YTAPI").remove();
}

在初始页面加载对象时,window.YT当然不存在,但是在第一个页面导航之后,我得到1个对象,然后得到2个对象,然后得到3个对象等等。下面的图片是在4页导航之后,10个window.YT对象。

EN

Stack Overflow用户

回答已采纳

发布于 2015-03-23 12:02:30

我检查了您使用的两个插件,并得出结论,问题在于您的代码被重新加载到每个导航上。

要解决这个问题,请尝试对只需要加载一次的脚本使用data-no-instant属性。这可能包括以下方面:

Youtube小部件:<script type="text/javascript" id="www-widgetapi-script" src="https://s.ytimg.com/yts/jsbin/www-widgetapi-vflr-TgN1/www-widgetapi.js" async="" data-no-instant></script> Youtube API:<script src="https://www.youtube.com/player_api?v=2.7.6" id="YTAPI" data-no-instant></script> JQuery库:<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.js" data-no-instant></script> YT播放器插件:<script type="text/javascript" src="inc/jquery.mb.YTPlayer.js" data-no-instant></script> InstantClick插件:<script src="instantclick.min.js" data-no-instant></script> 将以下代码也放入内部:<script data-no-instant></script>

还摧毁你的YT播放器实例的鼠标和触屏事件。

代码语言:javascript
运行
复制
$(body).on('mouseup touchend',".player",function(){
    $(".player").playerDestroy();
});

并在InstantClick事件change上重新输入YT播放器。

代码语言:javascript
运行
复制
InstantClick.on('change',function(){
    $(".player").mb_YTPlayer();
});

如果你这样做,我认为这个问题应该解决。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29164551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档