今天新页面上线,很多同事报告说页面打开到一半,经常跳出无法打开Internet站点的错误,然后页面会跳转到DNS错误的页面。
这个问题我以前遇到过,一直没有详细的去深究原因,只是以为是服务器关闭连接太快的原因。今天发现这个问题出的很频繁,服务器方面没有改什么,只是上传了新的页面程序而已,应该不会和服务器有关。在对页面进行分析,并搜索了一下网上,发现原来是js在document还没完全load完的时候就试图改变其值导致。
因此对js做如下改变:
原js:
window.settimeout("go()",500);
function go(){
.......
}
改成:
var go_i=window.setInterval("go()",500);
function go(){
if(document.readyState=="complete"){
window.clearInterval(go2_i);
}
else return;
........
}
目的就是让他一定要在document完成后才执行那个操作