国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

在IE6下發生Internet Explorer cannot open the Internet site錯誤

2019-11-21 00:25:07
字體:
來源:轉載
供稿:網友
具體出現的情況是這樣的:
  在頁面還沒有完全加載的情況下,鼠標點擊觸發了一個生成iFrame的腳本事件。
先是想到,將腳本事件,在頁面加載完全后,再動態添加到觸發的位置,這樣,頁面加載完全之前,這里是不會有腳本事件的,自然也不會報錯。
  以上辦法有些被動,于是去參看生成iframe的腳本。
  正常的頁面結構是
復制代碼 代碼如下:

<body>
<form>
........
</form>
</body>

生成iframe的腳本是:
復制代碼 代碼如下:

function CreateiFrame(){
  var objBody = document.getElementsByTagName("body").item(0);
  var objiFrame = document.createElement("iframe");
  objBody.appendChild(objiFrame);
}

appendChild() 方法,在節點的子節點列表末添加新的子節點。所以創建iframe后的DOM為:
復制代碼 代碼如下:

<body>
<form>
........
</form>
<iframe>
........
</iframe>
</body>

因為是在<form>還沒有加載完全的情況下,創建了<iframe>,所以在IE6下就出現了頁面錯誤。
相信在看到這里的時候,已經發現了解決的辦法:將<iframe>創建在<form>之前的話,就沒有問題了!
那么,我們就需要用到另外一個添加元素的方法 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() 方法,在節點的子節點列表任意位置插入新的節點。
insertBefore有2個參數可以設置,第一個是和appendChild相同的;第二可以為null,效果等同于insertBefore() 方法,也可以為指定需要在哪個子節點之前插入新子節點。
復制代碼 代碼如下:

<body>
<iframe>
........
</iframe>
<form id“form1”>
........
</form>
</body>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景洪市| 阜康市| 青河县| 贵定县| 龙川县| 工布江达县| 高邑县| 合作市| 新巴尔虎右旗| 常山县| 伊金霍洛旗| 肇州县| 鸡东县| 津市市| 潞城市| 措勤县| 芜湖县| 筠连县| 双江| 松溪县| 韶山市| 波密县| 开远市| 大方县| 民勤县| 新化县| 子长县| 江山市| 托克逊县| 阳山县| 青阳县| 江城| 石棉县| 云霄县| 怀柔区| 农安县| 寿宁县| 兴山县| 苍梧县| 贵港市| 宁海县|