window.location.reload完成?

时间:2012-05-11 14:45:19

标签: javascript windows reload

我打电话

window.location.reload(false) 

在javascript方法中更新页面。此次通话后我还有其他javascript通话。在调用其他javascript调用之前,有没有办法知道window.location.reload(false)何时完成运行?

3 个答案:

答案 0 :(得分:2)

您的代码行window.location.reload(false)会导致浏览器重新加载当前页面 - 执行此语句后没有脚本....

你可以在第一次加载时设置一个cookie - 然后在后续加载时检查cookie是否存在并执行一个动作......伪代码:

onload = check cookie
if cookie is present
   run function
else
   set cookie
   reload

您可以检查cookie上的时间,并选择在一段时间(例如1小时)过后执行该功能....

答案 1 :(得分:2)

您只需提供一个onload函数:重新加载与加载不同。

window.onload = function() { // ...

答案 2 :(得分:1)

我使用hashtag设置变量,告诉我页面是否重新加载。你可以这样做:

// Get the hash of the page
var hashstring = window.location.hash.substring(1);
var found = false;

// Do a hash exist?
if (hashstring.length > 0) 
{
    // Split the hash by '&'-sign (in case you have more variables in the hash, as I have)
    var a = hashstring.split("&");

    // Loop through the values
    for (i = 0; i < a.length; i++)
    {
        // Split the string by '=' (key=value format)
        var b = a[i].split("=");

        // If the key is 'reloaded' (which tells us if the page is reloaded)
        if(b[0] == 'reloaded')
        {
            found = true;
        }
    }
}    

if(!found)
{
    location.hash = 'reloaded=true';
    window.location.reload();
}

// Do other stuff, this will only be executed if the page has been reloaded

我已经在我的项目中将在哈希中找到变量的代码放在一个单独的函数中,但是我简单地在上面添加了它。这样就可以确定页面是否已经重新加载,并且仅在有代码的情况下运行代码。