在IE6下發(fā)生Internet Explorer cannot open the Internet site錯(cuò)誤
在頁面還沒有完全加載的情況下,鼠標(biāo)點(diǎn)擊觸發(fā)了一個(gè)生成iFrame的腳本事件。
先是想到,將腳本事件,在頁面加載完全后,再動(dòng)態(tài)添加到觸發(fā)的位置,這樣,頁面加載完全之前,這里是不會(huì)有腳本事件的,自然也不會(huì)報(bào)錯(cuò)。
以上辦法有些被動(dòng),于是去參看生成iframe的腳本。
正常的頁面結(jié)構(gòu)是
<body>
<form>
........
</form>
</body>
生成iframe的腳本是:
function CreateiFrame(){
var objBody = document.getElementsByTagName("body").item(0);
var objiFrame = document.createElement("iframe");
objBody.appendChild(objiFrame);
}
appendChild() 方法,在節(jié)點(diǎn)的子節(jié)點(diǎn)列表末添加新的子節(jié)點(diǎn)。所以創(chuàng)建iframe后的DOM為:
<body>
<form>
........
</form>
<iframe>
........
</iframe>
</body>
因?yàn)槭窃?lt;form>還沒有加載完全的情況下,創(chuàng)建了<iframe>,所以在IE6下就出現(xiàn)了頁面錯(cuò)誤。
相信在看到這里的時(shí)候,已經(jīng)發(fā)現(xiàn)了解決的辦法:將<iframe>創(chuàng)建在<form>之前的話,就沒有問題了!
那么,我們就需要用到另外一個(gè)添加元素的方法 insertBefore():
function CreateiFrame(){
var objBody = document.getElementsByTagName("body").item(0);
var objiFrame = document.createElement("iframe");
objBody.insertBefore(objiFrame,document.getElementById("form1")); //form1為form的id
}
insertBefore() 方法,在節(jié)點(diǎn)的子節(jié)點(diǎn)列表任意位置插入新的節(jié)點(diǎn)。
insertBefore有2個(gè)參數(shù)可以設(shè)置,第一個(gè)是和appendChild相同的;第二可以為null,效果等同于insertBefore() 方法,也可以為指定需要在哪個(gè)子節(jié)點(diǎn)之前插入新子節(jié)點(diǎn)。
<body>
<iframe>
........
</iframe>
<form id“form1”>
........
</form>
</body>
- 用MyEclipse配置DataBase Explorer(圖示)
- 淺談Android Studio 3.0 工具新特性的使用 Android Profiler 、Device File Explorer
- linux下部署kodexplorer的方法
- 開發(fā) Internet Explorer 右鍵功能表(ContextMenu)
- IE事件對(duì)象(The Internet Explorer Event Object)
- VBS InternetExplorer.Application的屬性和方法介紹
- EXPLORER.EXE病毒手動(dòng)解決方法
- Eclipse中如何顯示explorer過程解析
相關(guān)文章
js實(shí)現(xiàn)時(shí)間日期的相加相減代碼示例
這篇文章主要給大家介紹了關(guān)于利用js實(shí)現(xiàn)時(shí)間日期的相加相減的相關(guān)資料,文中通過代碼示例介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考解決價(jià)值,需要的朋友可以參考下2023-09-09
js實(shí)現(xiàn)用戶輸入的小寫字母自動(dòng)轉(zhuǎn)大寫字母的方法
下面小編就為大家?guī)硪黄猨s實(shí)現(xiàn)用戶輸入的小寫字母自動(dòng)轉(zhuǎn)大寫字母的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
BootStrap 下拉菜單點(diǎn)擊之后不會(huì)出現(xiàn)下拉菜單(下拉菜單不彈出)的解決方案
最近學(xué)到Bootstrap下拉菜單,學(xué)懂了教程內(nèi)容之后自己敲一個(gè)點(diǎn)擊按鈕底下彈出下拉菜單的小demo,寫完代碼發(fā)現(xiàn)運(yùn)行之后點(diǎn)擊按鈕沒反應(yīng),下拉菜單彈不出來,下面給大家分享下解決方案2016-12-12
JavaScript動(dòng)態(tài)改變HTML頁面元素例如添加或刪除
HTML頁面元素可以通過js動(dòng)態(tài)改變,比如可以向HTML中添加元素或刪除某個(gè)元素,下面為示例代碼,感興趣的朋友不要錯(cuò)過2014-08-08
淺析ThreeJs中如何實(shí)現(xiàn)動(dòng)畫效果
在 ThreeJs 中,動(dòng)畫是創(chuàng)建動(dòng)態(tài) 3D 場(chǎng)景的重要組成部分,本文將介紹如何使用 ThreeJs 實(shí)現(xiàn)基礎(chǔ)的動(dòng)畫效果,需要的小伙伴可以參考一下2024-10-10
TypeScript創(chuàng)建一個(gè)簡(jiǎn)單Web應(yīng)用
這篇文章主要為大家介紹了TypeScript創(chuàng)建一個(gè)簡(jiǎn)單Web應(yīng)用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
JavaScript控制網(wǎng)頁層收起和展開效果的方法
這篇文章主要介紹了JavaScript控制網(wǎng)頁層收起和展開效果的方法,涉及javascript操作網(wǎng)頁元素動(dòng)態(tài)效果的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
js綜合應(yīng)用實(shí)例簡(jiǎn)單的表格統(tǒng)計(jì)
在做調(diào)查問卷的過程中,遇到一個(gè)表格的統(tǒng)計(jì)問題,一個(gè)需要用到j(luò)s方面的綜合知識(shí),感覺還不錯(cuò)所以記錄下來與大家分享,感興趣的朋友可以了解下2013-09-09
JavaScript Canvas繪制動(dòng)態(tài)線框效果
這篇文章主要為大家詳細(xì)介紹了JavaScript Canvas繪制動(dòng)態(tài)線框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08

