问题描述
为什么我写的代码在IE8和ff上运行正常。但是在IE6下就莫名其妙经常会卡在加载js文件的地方。页面代码如下:<%@pagelanguage="java"pageEncoding="UTF-8"%><%@taglibprefix="s"uri="/struts-tags"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN"><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><linkrel="stylesheet"type="text/css"media="all"href="resources/css/ext-all.css"/><linkrel="stylesheet"type="text/css"media="all"href="css/public.css"/></head><bodyonunload="unloadMap()"><divid="loading"><divclass="loading-indicator"><imgsrc="images/loading.gif"width="120"height="120"style="margin-right:8px;float:left;vertical-align:top;"/><s:textname="admin.title"/><br/><spanid="loading-msg"><s:textname="load.csspic"/></span></div></div><divid="bd"><scripttype="text/javascript">document.getElementById('loading-msg').innerHTML='<s:textname="load.core"/>';</script><scripttype="text/javascript"src="adapter/ext/ext-base.js"></script><scripttype="text/javascript">document.getElementById('loading-msg').innerHTML='<s:textname="load.ui"/>';</script><scripttype="text/javascript"src="ext-all.js"></script><scripttype="text/javascript">document.getElementById('loading-msg').innerHTML='<s:textname="init.module"/>';</script><scripttype="text/javascript"src="js/public.js"></script><scripttype="text/javascript">varloginName='<s:propertyvalue="#session.CURRENT_USER.loginName"/>';varisHidden=<s:propertyvalue="#session.CURRENT_USER.roleId"/>==0;varmapType='<s:propertyvalue="mapType"/>';varlocale='<s:propertyvalue="locale"/>';</script><scripttype="text/javascript"src="http://api.51ditu.com/js/maps.js"></script><scripttype="text/javascript"src="locale/defaultVar.js"></script><scripttype="text/javascript"src="locale/ext-lang-<s:propertyvalue="locale"/>.js"></script><scripttype="text/javascript"src="js/monitorMap<s:propertyvalue="mapType"/>.js"></script><scripttype="text/javascript"src="js/mapPublic<s:propertyvalue="mapType"/>.js"></script><scripttype="text/javascript"src="js/main.js"></script><scripttype="text/javascript"src="js/monitorTree.js"></script></div></body></html>一般都是卡在<scripttype="text/javascript"src="http://api.51ditu.com/js/maps.js"></script>在main.js里我写了onload函数(如下),在ie6里不能弹出“加载完成”,但是ffie8就可以,ie6和ie8加载js文件机制有什么不同吗。哪位大侠帮我解决这个问题,感激不尽!window.onload=function(){alert("加载完成");Ext.QuickTips.init();Ext.form.Field.prototype.msgTarget='under';//去除加载层Ext.get('loading').remove();varmainPanel=newExt.Panel({region:'center',layout:'border',items:[mapContainer,monitorGrid]});//定义主界面varvp=newExt.Viewport({layout:'border',items:[leftPanel,mainPanel]});mainMap.initMap('mapPanel');}
解决方案
解决方案二:
难道这个问题大家都没遇到过么痛苦啊。。老板天天问啥时候搞好。
解决方案三:
extjs不懂
解决方案四:
告诉你们老板,你太out了,现在都快2012了,还用ie6,赶紧装ie9,装ie9是买船票的必备条件
解决方案五:
我们做的平台是给别人用,有的客户比较顽固,就认准IE6了,没法啊痛苦。。。。。。吃不好,睡不好的
解决方案六:
你的js文件如此之多,具体卡在哪个文件啊?
解决方案七:
使用Onload事件判断加载外部js文件是否完成,IE6并不支持。我尚未试。看看这个:http://wenwen.soso.com/z/q281282568.htm?sp=3001不知道有帮助不?
解决方案八:
你在每个js文件后面都加个alert一下,看看哪个js文件卡了
解决方案九:
加载<scripttype="text/javascript"src="http://api.51ditu.com/js/maps.js"></script>卡了问题是加载到时间了数据没加载完,IE6是直接跳过去执行下面的吗在IE8和ff是能继续执行剩余代码的。IE6不知道为什么就进不了window.onload函数。谁能推荐一个好用的像firedebug的能在ie下面调试,看执行过程的工具吗。感激不尽!
解决方案十:
强制IE8。呵。省得烦。在系统前端做个版本判断。不是IE8,直接弹出更新下载。
解决方案十一:
我测试发现IE6下每次加载ext-all.css文件时都失败,然后不能继续往下加载。不知道是不是超时了,如果是超时,能设置这个加载时间么。急切盼望哪位大侠帮我解决这个心病。。
解决方案十二:
<linkrel="stylesheet"type="text/css"media="all"href="resources/css/ext-all.css"/>去掉试试<scripttype="text/javascript">varloginName='<s:propertyvalue="#session.CURRENT_USER.loginName"/>';varisHidden=<s:propertyvalue="#session.CURRENT_USER.roleId"/>==0;varmapType='<s:propertyvalue="mapType"/>';varlocale='<s:propertyvalue="locale"/>';</script>去掉试试
解决方案十三:
<scripttype="text/javascript"src="lyby.js"onreadystatechange="alert(this.readyState)"></script>也许以上东西可以帮助到你,在IE下,标签支持onreadystatechange事件,文件加载的状态可以通过readyState来判断,这个东西我是告诉你了,具体使用请googleorbaidu这东西。