`
java_frog
  • 浏览: 254703 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JS加载问题.

阅读更多
if(document.getElementById("mytask2").readyState=="complete"){
	window.attachEvent('onload',function(){
			if(result == 0){
				 document.getElementById("mytask2").innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://cmri.hq.cmcc/pc' target='_blank' style='cursor:hand'>您没有未落实的任务</a>";	
			}else{
				document.getElementById("mytask2").innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://cmri.hq.cmcc/ActionSpace' target='_blank' style='cursor:hand'>ActionSpace待办事项: "+result+"项</a>";
			}
							})
}



在HTML结构代码还没有加载完是,JS代码先加载运行了, 就会产生这个"Internet Explorer 无法打开站点"错误.
在IE下,当页面还没有加载完全时,如果正在执行的JS代码中含有使用了document.createElement、appendChild或者innerHTML操作的话,很容易引起页面加载失败。导 致提示"internet explore 无法打开internet站点 http://www.xxx.com/xxx.html 已终止操作"。

这是因为在IE下,在加载文档的过程中,整个HTML文档的DOM结构尚未生成完整,而此时正在执行的JS就已创建出新的DOM结点了,致使DOM树的结构发生紊乱。

解决方法如下:

1、加载完成判断
if (document.readyState=="complete"){
....
}else{
document.onreadystatechange=function(){
if(document.readyState=="complete")...;
}
2、加载完后执行
window.onload=function(){
...
}
3. dom结构加载完
  window.addEvent('domready',function(){
              .............
       })



在appendChild或者innerHTML操作处判断document.readyState=="complete", 若为否,则setTimeout若干秒之后重新作这个操作。

但是,此属性只对ie,opeara有效,ff的document没有readyState属性,永远是undefined.


分享到:
评论

相关推荐

    PDF.js实现分片加载问题.md

    一文解决pdf.js插件的引入的相关问题

    懒加载js控件 dropload.min.js

    标题提到的"懒加载js控件 dropload.min.js"就是一个专门用于实现这种效果的JavaScript库,适用于移动端开发。dropload.min.js是一个经过压缩和优化的小型库,旨在提供高效的懒加载功能。"min.js"表示这是一个最小化...

    threejs加载模型.txt

    threejs加载模型的几种方式,包括stl类型以及obj格式,附带案例。

    js实现瀑布流布局,针对大量的图片,动态加载数据.zip

    【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考...js实现瀑布流布局,针对大量的图片,动态加载数据.zip

    vue动态加载js.zip

    在Vue.js应用开发中,有时候我们可能需要动态加载JavaScript资源,比如某些库或者插件只在特定场景下使用,为了优化性能,不希望一开始就加载。Vue动态加载JS是一种实现这一需求的技术,它允许我们在运行时根据需要...

    minirefresh.js插件制作的手机端下拉刷新加载代码.zip

    minirefresh.js是一款轻量级的JavaScript库,专为手机端网页设计,它实现了下拉刷新和上拉加载的效果,具有高度可定制性和良好的兼容性。这个插件的核心思想是通过监听用户的触摸事件,结合CSS3动画实现平滑的刷新...

    关于laydate.js加载laydate.css路径错误问题解决

    在本文中,我们将探讨一个关于JavaScript日期控件laydate.js在特定项目环境中遇到的问题,以及如何解决laydate.css路径加载错误。laydate.js是一款广泛应用于前端开发中的日期选择器插件,它支持包括IE6在内的多种...

    html javascript js制作加载进度条.loading

    html js制作加载进度条.zip

    LABjs-master--js有序加载.rar

    LAB.js,全称为“Loader And Booster JavaScript”,是一种专门用于优化JavaScript加载性能的库。它旨在解决在网页开发中遇到的一个常见问题:JavaScript文件的异步加载顺序无法自定义,这可能导致依赖关系混乱,...

    等待数据加载jquery.BlockUI.js

    《深入理解jQuery BlockUI.js:实现页面加载等待效果》 在网页开发中,用户体验是至关重要的,当用户点击按钮或进行某些操作时,如果页面没有即时反馈,用户可能会感到疑惑或者不耐烦。这时,我们可以使用jQuery ...

    vue3中使用threejs加载fbx模型.zip

    在Vue3中集成Three.js以加载FBX模型是一项常见的任务,尤其在开发3DWeb应用时。Three.js是一个强大的JavaScript库,用于在浏览器中创建和展示3D对象,而FBX是一种广泛使用的3D模型格式,它包含了丰富的动画和材质...

    ThreeJS加载glb模型实用案例

    在Web开发领域,Three.js是一个非常流行的JavaScript库,它用于创建和展示3D图形,而无需复杂的编程。Three.js利用WebGL技术,这是一种基于OpenGL标准的JavaScript API,可以在浏览器上实现硬件加速的3D渲染。本篇...

    three.js加载json三维模型.zip

    在三维Web开发领域,Three.js是一个非常流行的JavaScript库,它为浏览器提供了强大的3D图形渲染功能。本主题将深入探讨如何使用Three.js加载JSON格式的三维模型,以及与BIM(建筑信息模型)相关的应用。 一、Three....

    js仿iPhone手机端alert,loading,正在加载...

    这篇文章“js仿iPhone手机端alert,loading,正在加载...”提供了一种实现这一功能的方法。我们将深入探讨这些元素的实现方式,并通过JavaScript来创建类似iOS体验的交互。 首先,我们来看`alert`。在原生的...

    three.js加载gltf模型

    GLTFLoader是three.js提供的加载器,专门用于解析并加载.gltf或.glb文件。 `vue.js`是一个流行的渐进式JavaScript框架,用于构建用户界面。它的核心库只关注视图层,易于上手,同时具有高级功能,如组件化、状态...

    js手机端下拉刷新加载特效.zip

    "js手机端下拉刷新加载特效.zip"文件正是针对这一需求提供的解决方案,它利用了名为"minirefresh.js"的JavaScript插件来实现这种交互效果。下面,我们将详细探讨这个特效的工作原理、如何使用以及其在实际开发中的...

    web前端3D:three.js加载汽车模型

    本篇文章将详细讲解如何利用three.js加载汽车模型,以及相关的JavaScript插件和素材文件。 首先,了解Three.js的基本概念。Three.js是基于WebGL的3D库,它在浏览器环境中构建3D模型,利用HTML5 canvas元素和WebGL ...

    懒加载jquery.lazyload.js

    在JavaScript领域,jQuery库提供了一个优秀的懒加载插件——jQuery LazyLoad.js,它能够有效地提高页面性能,降低服务器压力。 **一、jQuery LazyLoad.js 插件原理** jQuery LazyLoad.js 的核心思想是只加载视口内...

    flv.js和flv.min.js和基本使用demo(附带js文件)

    1. **浏览器兼容性**:FLV.js主要解决的问题是提供一种方式在不依赖Flash Player的情况下,让现代浏览器能够播放FLV视频。 2. **解码和播放**:这个库实现了FLV文件的解析,将原始的FLV数据转化为可以在浏览器中...

    threejs加载GLTF示例

    在本示例中,我们将深入探讨如何使用Three.js库加载GLTF(通用场景图形格式)模型,这是一种广泛使用的3D模型格式,尤其适用于Web应用程序。Three.js是一个强大的JavaScript库,用于在Web浏览器中创建和展示三维图形...

Global site tag (gtag.js) - Google Analytics