Javascript窗口.location一次又一次被IE-8调用
Javascript window.location is getting called again and again IE-8
我正在检查,获取和设置一个cookie来跟踪最后访问的页面。为此,我调用了Javascript的onload函数。问题是,当我执行这个js时,它会一次又一次刷新,就像鼠标移动一样。但我没有任何事件,除了onload。
这是我的js:
<script type='text/javascript'>
//<![CDATA[
window.onload = function(event){
var currentPage = window.location.href;
var lastVisited = getCookie('udis');
var sessionId= getCookie('udisSession');
if(lastVisited === null || lastVisited === undefined){
setCookie("udis", currentPage, 365);
lastVisited = getCookie('udis');
}
if(sessionId === null || sessionId === undefined){
setSessionCookie('udisSession');
if(lastVisited !== currentPage){
window.location.href = lastVisited;
}
}
setCookie("udis", currentPage, 365);
updateBreadCrumb();
}
function getCookie(c_name) {
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++){
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^'s+|'s+$/g,"");
if (x==c_name) {
return unescape(y);
}
}
}
function setSessionCookie(c_name){
document.cookie=c_name + "=" + 'testSession'+';expires=;path=/';
}
function setCookie(c_name,value,exdays){
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
//]]>
</script>
以上代码在Firefox中完美无缺,但在IE-8中会导致页面一次又一次地重新加载
这会导致您的页面被重新加载。
window.location.href=lastVisited
你可能应该用if语句检查当前页面是否不相同,然后刷新。比如window.location.href != lastVisited
相关文章:
- 对于Ajax调用,为什么innerHTML没有显示在IE中
- VBA IE调用包含'这'关键字
- 了解在JavaScript中(在IE中)对某个事件调用了什么函数
- SPA异步调用在IE 11中不起作用
- 完成将调用IE的密码框函数从VBScript转换为Javascript
- 使用空媒体查询调用matchMedia失败,IE中的参数无效
- IE 9、10、11-Ajax调用未返回
- 对javascript中函数的调用在IE中不起作用
- 从父页面调用iframe中的javascript,IE问题
- Don'在IE中调用find next时,不要高亮显示Codemirror中的光标
- Jquery没有在firefox浏览器中调用Webservice方法,它在Chrome和IE中运行良好
- IE在画布上调用toDataUrl时引发安全错误
- 在Facebook图形中,使用Javascript的IE(所有版本)不支持API调用跨浏览器调用
- 事件侦听器不会在IE中被调用 - 这是怎么回事
- 调用 blur() 时,IE 中文本区域和输入中的光标闪烁
- 从 JS 调用 IE Js 调试器
- (仅在IE中)SCRIPT65535:对方法或属性访问的意外调用.主.js,第 152 行字符 28
- ExtJs4 在IE中从javascript生成Excel文件得到我:“传递给系统调用的数据区域太小”
- IE 在使用 clientscript.registerstartup 调用处理程序之前停止执行 JavaScript
- Javascript窗口.location一次又一次被IE-8调用