`

document.body.appendChild引起的【InternetExplorer无法打开Internet站点】

阅读更多
   “InternetExplorer无法打开Internet站点……已终止操作”是由document.body.appendChild引起的,document.body.appendChild本身来说这句代码是没有任何问题的,怪就怪在我加js的地方,因为页面在加载的时候就要执行js代码,所以我直接把js放在了页面里面,而且并没有放在window.onload的事件里。我不得不承认让js在window.onload的事件里执行非常保险,但是如果放在window.onload的事件里又会有另一个问题出现,那就是js加载过慢,甚至不加载,因为页面过大,或者有很多图片,flash等的时候,由于这些加载不成功就会导致页面永远执行不到window.onload事件,或者window.onload会很慢,那样就会影响整个页面的显示,这也是我们不愿看到的。为了更保险一点,又不至于加载过慢,我们会把js放在页面的最低端,事实上,就个人而言,我觉得是最好的解决方法。但是由于这个两个页面都是要及时显示,所以js就紧跟着页面标签的后面,所以就导致document.body.appendChild引发了InternetExplorer无法打开Internet站点的问题,因为js是解释执行的,当读到页面的某一行时,document.body并没有加载完成,或者说还正在加载,这个时候js向document.body添加一个子元素就会有冲突,继而导致了错误!

    事实上,如果不是在页面加载时执行js,而是在触发某个按钮后执行js的话,是不会有这个错误的,所以平时如果js是由某个按钮触发的时候,我们的js代码放在页面的任何地方都可以。

    解决方法也很多,首先我们可以把要添加的子元素不添加到body下面,而是添加到在这个元素之前已加载的某个元素里面,直接使用document.getElementById("channel_top").appendChild(newscript)即可,但这样往往会出现另一个问题,那就是当前新加的元素会受他父元素的css 的影响,这有时候又是我们不愿意看到的,那么另一个解决方法就是,直接把要加载的元素写在页面里面,而不要用js来添加,而且新加的元素也必须在放在js前面,否则就会找不到。
0
0
分享到:
评论

相关推荐

    js document对象详解

    5. document.body.appendChild(oTag):动态生成一个 HTML 对象。 document.body 对象 document.body 对象是 document 对象的子对象,指定文档主体的开始和结束,等价于 `<body>` 和 `</body>`。 document.body ...

    JS的document_详细介绍及用法

    2. `document.body.onmouseover="func()"`: 鼠标移动到body上时执行函数`func()`。 3. `document.body.onmouseout="func()"`: 鼠标离开body时执行函数`func()`。 此外,`document`对象还有许多其他属性和方法,如`...

    document.frames在非IE浏览器中的解决办法

    document.body.appendChild(iframe); ``` - **处理跨域问题**:当iframe加载的页面与父页面不在同一个域时,由于同源策略限制,不能直接访问子页面的DOM。为了解决这个问题,可以使用`postMessage`和`message`...

    javascript document对象详细介绍

    8. **`document.body.topMargin`**、**`document.body.leftMargin`**、**`document.body.rightMargin`**、**`document.body.bottomMargin`**:分别设置页面上、左、右、下的边距。 ```javascript document.body....

    document属性和方法.txt

    document.body.appendChild(oTag) ``` - **示例**: ```javascript // 向body添加一个新的段落 var p = document.createElement("p"); p.innerHTML = "This is a new paragraph."; document.body.appendChild...

    html2canvas截图js

    //document.body.appendChild(canvas); //生成base64图片数据 var dataUrl = canvas.toDataURL(); var newImg = document.createElement("img"); newImg.src = dataUrl; document.body.appendChild(newImg); ...

    JAVASCRIPT-DOCUMENT方法大全.pdf

    5. `document.body.appendChild(oTag)`: 将一个元素添加到`<body>`元素的末尾。 6. `document.body`: 访问`<body>`元素,可以设置其样式和属性,如`document.body.bgColor`、`document.body.link`等。 7. `document....

    获取页面长宽和滚动条的位置

    document.body.appendChild(document.createTextNode("Hello, World!")); document.body.appendChild(document.createElement("br")); } var sz = GetPageSize(); alert([sz.PageW,sz.PageH,sz.WinW,sz....

    javascript 的Document属性和方法集合

    - `document.body.appendChild(oTag)`: 向`<body>`元素添加一个新的子元素。 3. **body对象** - `document.body`: 表示HTML文档的`<body>`元素,提供了一些与页面主体相关的属性和方法。 - `document.body....

    document对象总结

    - **document.body.appendChild(oTag)**: 将新创建的元素添加到body元素的末尾。 #### Body对象的属性和方法 `document.body`表示文档的`<body>`元素,它提供了一系列与页面主体相关的属性和方法: - **document....

    JavaScript的document方法汇总

    - `document.body.appendChild(oTag)`:将一个元素添加到`<body>`元素的子节点列表末尾。 5. **事件监听**: - `document.body.onclick`:当用户点击`<body>`元素时触发。 - `document.body.onmouseover`:当...

    javascript 的document对象

    - `document.body.bgColor`, `document.body.link`, `document.body.alink`, `document.body.vlink`, `document.body.text`: 这些属性已过时,现在应使用CSS来设置样式。 - `document.body.innerText` 和 `...

    javascript的document对象

    - **document.body.appendChild(oTag)**:向`<body>`元素添加一个新的子元素。 #### Body元素的事件监听器 - **document.body.onclick="func()"**:为`<body>`元素绑定点击事件处理函数。 - **document.body....

    Document对象内容集合

    - **示例**:假设`var oTag = document.createElement('p')`,则`document.body.appendChild(oTag)`会将`oTag`添加到body元素中。 #### 三、Body元素的属性 **3.1 `document.body`** - **作用**:获取或设置文档的...

    新手教程——jspdocument对象详细描述.pdf

    - `document.body.appendChild(oTag)`:在`<body>`元素的末尾添加一个新的子节点。 3. **body子对象**: - `document.body`:代表HTML文档的`<body>`元素,可以设置或获取与之相关的属性,如背景颜色、边距等。 ...

    JavaScript中ument对象介绍[归类].pdf

    - `document.body.bgColor`, `document.body.link`, `document.body.alink`, `document.body.vlink`: 与`document`对象的相应属性类似,用于设置`<body>`内的颜色属性。 - `document.body.text`: 设置或获取`<body...

    脚本中Document对象内容集合介绍

    - `document.body.appendChild(oTag)`: 在`<body>`元素的末尾添加新的子元素。 ### 3. `body`子对象 - `document.body`: 表示HTML文档的`<body>`元素,提供了许多属性和方法来控制页面主体的样式和行为。 - `...

    开网页的时候总是弹出InternetExplorer无法打开Internet站点.pdf

    "解决Internet Explorer无法打开Internet站点的多种方法" 本文将讲解Internet Explorer无法打开Internet站点的多种解决方法。Internet Explorer是一款广泛使用的浏览器,但是它也存在一些问题,例如无法打开...

    javascript中createElement的两种创建方式.docx

    4. **添加到DOM:** 最后使用`document.body.appendChild(btn)`将元素添加到页面的`body`中。 这种方式的优点在于逻辑清晰,易于理解和维护。缺点是代码相对冗余,对于简单的元素创建来说略显繁琐。 #### 三、第二...

Global site tag (gtag.js) - Google Analytics