Window.location.href无限循环

时间:2014-12-08 20:12:20

标签: javascript

使用window.location.href时,我遇到了无限循环(即使它放在一个只在启动时调用一次的函数内)。

function onYouTubeIframeAPIReady() { // only called one time once API's are ready
        window.location.href = ("?name=" + new Date().getTime()); //is EPOCH time

window.location.hash效果很好(但我不能用它)...

2 个答案:

答案 0 :(得分:2)

您正在创建自己的循环。

在您正在呼叫的页面启动时:

window.location.href = ("?name=" + new Date().getTime());

这会导致页面加载自身,最后附加一个新的?name=time

您可能想要做的是更改URL的哈希部分。像这样:

window.document.location.hash = new Date().getTime();

否则你应该有条件地调用window.location.href以便它只在某些时间执行,如下所示:

function onYouTubeIframeAPIReady() { // only called one time once API's are ready
    if (someVariable == "refreshNow") {
          window.location.href = ("?name=" + new Date().getTime()); //is EPOCH time
    }
}

答案 1 :(得分:1)

如果在启动期间运行此功能并且没有条件阻止其运行,window.location.href部分每次执行,从而导致您描述的循环。你需要提供一些能够阻止循环的条件。