是否可以为location.reload()添加一个JavaScript for / while循环;

时间:2019-03-09 07:21:27

标签: javascript loops reload

我的Wordpress网站具有冲突的插件。因此,当我单击菜单中的页面时,页面会卡住,但会在页面重新加载后修复。

我的方法是自动刷新页面(已单击菜单链接),以便页面正确加载。

搜索几天后,我还没有找到确切的方法。 我用

location.reload(true);

,但它会不断重新加载。我也尝试过

location.reload(true);
window.stop();

但是它会在页面加载完成到100%之前停止加载。

所以我的问题是,我们可以添加一个循环来停止重新加载吗? 例如...

  

2次重新加载后,js代码将停止

希望有人可以帮助我。谢谢!

3 个答案:

答案 0 :(得分:1)

尝试这段JavaScript:

if(typeof(localStorage.getItem('rlcount')) == 'undefined'){
    localStorage.setItem('rlcount',0);
}
if(localStorage.getItem('rlcount') < 2){
    localStorage.setItem('rlcount',localStorage.getItem('rlcount')+1);
    window.location.reload();
}else{
    localStorage.removeItem('rlcount');
}

答案 1 :(得分:0)

虽然我鼓励您尝试解决导致您描述的行为的根本问题,但您可以执行以下操作来重新加载页面两次:

window.onload = function() {
    if (!window.location.hash) {
        window.location = window.location + '#loadedOnce';
        alert("Reloading first time...");
        window.location.reload();
    } else if (window.location.hash === "#loadedOnce") {
        window.location = window.location.hash.replace("#loadedOnce", "#loadedTwice");
        alert("Reloading second time...");
        window.location.reload();
    } else if (window.location.hash === "#loadedTwice") {
        // Page reloaded twice, do whatever...
    }   
}

这利用了URL中的哈希,因此不需要使用localStorage API(尽管如果浏览器支持,这也是一种很好的方法,如果已经有了哈希,它可能会更好地工作)在网址中)。

答案 2 :(得分:0)

感谢您抽出时间回答我的问题…… 我找到了一种简单的方法(虽然不是循环)。不确定是否可以,但是当我添加“ return”时它是否可以正常工作。

location.reload();
return;

添加此命令时。只需重新加载一次即可。