使用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
效果很好(但我不能用它)...
答案 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
部分将每次执行,从而导致您描述的循环。你需要提供一些能够阻止循环的条件。