Window.location.reload (true)工作不一致
window.location.reload(true) working inconsistently
我一直在为我的网页的自动注销功能工作。作为其中的一部分,我在代码中的3个不同位置实现了window.location.reload(true)
。其中两个是自动的,一个是连接到一个链接。链接总是有效的,但是自动链接并不总是有效,我不明白为什么。
对于自动注销,由反编译器设置:
var userActionTimeout = debounce(function(e) {
console.log("inaction timeout, reloading page");
window.location.reload(true);
},15000;);
$(document.body).on('mousemove keydown click scroll',userActionTimeout);
理论上应该在一定的不活动时间后重新加载页面。
其他两种用法发生在某些类型的AJAX数据提交(例如,只有在修改客户端时才会发送明显错误的数据)触发注销之后。当然,任何进一步的AJAX提交都将被服务器忽略,服务器将向客户机提供的下一个页面是登录页面。如果无意中发生了这种情况,AJAX将向客户端发送一条错误消息,其中包括以下内容:
<a href="#" onclick="window.location.reload(true);">refresh</a> to continue session
我还实现了一个超时,如果这个链接被提供,它也会发生,它在收到AJAX响应之后发生:
if (typeof response._forceRefresh !== 'undefined' && response._forceRefresh) {
console.log('reload firing');
/*
some code to insert the link into a spotlight here
*/
setTimeout(function(){console.log('reloading in 3s...');},7000);
setTimeout(function(){
console.log('reloading...');
window.location.reload(true);
},10000);
}
然而,我遇到的问题是:大多数时候,debounce页面重新加载工作(在firefox &Chrome),但偶尔也不会。链接总是有效的,但是AJAX响应的重新加载大约是50/50。我知道自从链接出现后,它就收到了服务器的响应,但它通常不会自动重新加载页面。
怎么回事?
当我在网页上遇到不一致时,它通常涉及到我没有意识到正在发生的缓存。如果您还没有这样做,请在您的项目中考虑到这一点,并查看是否有一个有效的位置可以强制它不缓存页面。
另一个想法可能是尝试使用meta refresh元素。有另一个线程,这是建议:自动注销空闲超时使用jquery php
相关文章:
- Javascript.getHours()工作不正常
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- removeClass函数没有'工作不正常
- jQuery Ajax GET请求工作不正常
- Cordova ng路线工作不正常
- 更新属性工作不正常Meteor/MongoDB
- 为什么文本对齐:对;工作不正常
- Javascript作用域和Ajax调用;工作不正常
- JavaScript DOM insertBefore'工作不正常
- Angular Js布线工作不正常
- onmouseout函数工作不正常
- 承诺工作不正常
- Android和JavaScript解析API之间不一致
- Excel公式到Javascript,工作但不一致
- ExternalInterface返回到AS3在IE中不一致工作
- jquery编号验证工作不一致
- Window.location.reload (true)工作不一致
- 分页Ajax在Rails中工作不一致
- Javascript日历新实例工作不一致
- 显示/隐藏在 Jquery 图像映射上不一致的工作