我打电话
window.location.reload(false)
在 javascript 方法中更新页面。在此调用之后,我还有其他 javascript 调用。在调用其他 javascript 调用之前,有没有办法知道 window.location.reload(false) 何时完成运行?
我打电话
window.location.reload(false)
在 javascript 方法中更新页面。在此调用之后,我还有其他 javascript 调用。在调用其他 javascript 调用之前,有没有办法知道 window.location.reload(false) 何时完成运行?
您只需提供一个函数来 onload :重新加载与加载没有什么不同。
window.onload = function() { // ...
您的代码行window.location.reload(false)
导致浏览器重新加载当前页面 - 在此语句之后不会执行任何脚本....
您可以在第一次加载时设置 cookie - 然后在后续加载时检查 cookie 的存在并执行操作......伪代码:
onload = check cookie
if cookie is present
run function
else
set cookie
reload
您可以检查 cookie 上的时间并选择在经过一段时间(例如 1 小时)后执行该功能....
我使用主题标签来设置变量,告诉我页面是否重新加载。你可以这样做:
// 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
我已经将在我的项目中的一个单独的函数中找到哈希中的变量的代码,但是为了简单起见,我只是在上面添加了它。这使得可以确定页面是否已重新加载,并仅在已重新加载时运行代码。