启用和禁用window.location.href

时间:2015-03-20 17:18:49

标签: javascript jquery

最近,YouTube推出了新的自动播放功能,我很嫉妒。

enter image description here

我在我的管网站上实现了它。我的网站使用jwplayer作为视频播放器,它有一个非常漂亮和简单的API,其中一个函数叫做onComplete,它将在视频结束时执行我的javascript查询。

我做的是:

onComplete:function() {
//Video has ended, now we redirect to the new video
window.location.href = "//www.mysite.com/video?id=33412";
}

因此,使用此功能,我的网站将成功重定向到新视频,依此类推。但是,如果用户关闭图像中所示的“自动播放”功能,该怎么办?如何禁用window.location.href?

其他stackoverflow回答said

  

您无法更改window.location原型,因为这是窗口的“本机属性”,并且不可配置。

在我的案例中,解决方案是什么?使用Jquery的解决方案也适合我。

2 个答案:

答案 0 :(得分:3)

您需要在某处存储某个州,例如:

var autoplayEnabled = true;

$('#autoplay-toggle').on('click', function() {
    autoplayEnabled = ! autoplayEnabled;
});

// . . .
{
    onComplete: function() {
        // Video has ended, now we redirect to the new video
        if (autoplayEnabled) {
            window.location.href = "//www.mysite.com/video?id=33412";
        }
    }
}

当他们点击自动播放触发器时,它会切换全局变量,然后在onComplete回调中检查该变量。

答案 1 :(得分:3)

autoplay有一面旗帜。设置/取消设置标志。

在你的onComplete中,检查标志

onComplete:function() {
//Video has ended, now we redirect to the new video

// check the flag and execute
if(autoPlay) window.location.href = "//www.mysite.com/video?id=33412";

}