今天用IE打開 soso 的時(shí)候提示:
Internet Explorer 無法打開 xxxxxxx 已終止操作
但是用 FireFox 就可以訪問。怪事了 用別的IE內(nèi)核瀏覽器也是一樣情況
以前做過的項(xiàng)目由于添加了在線統(tǒng)計(jì)系統(tǒng)。結(jié)果在Firefox下測試正常,IE下卻提示“無法打開Internet站點(diǎn) 已終止操作”的錯(cuò)誤。一開始也蒙了,在網(wǎng)絡(luò)上找了很多解決方法。最終使問題得以完美解決,總結(jié)如下。
在IE下,當(dāng)頁面還沒有加載完全時(shí),如果正在執(zhí)行的JS代碼中含有使用了document.createElement的話,很容易引起頁面加載失敗。導(dǎo)致提示"internet explore 無法打開internet站點(diǎn) http://www.xxx.com/xxx.html 已終止操作"。
這是因?yàn)樵贗E下,在加載文檔的過程中,整個(gè)HTML文檔的DOM結(jié)構(gòu)尚未生成完整,而此時(shí)正在執(zhí)行的JS就已創(chuàng)建出新的DOM結(jié)點(diǎn)了,致使DOM樹的結(jié)構(gòu)發(fā)生紊亂。
解決方法大概有兩種:
1、加載完成判斷
if (document.readyState=="complete"){
....
}else{
document.onreadystatechange=function(){
if(document.readyState=="complete")...;
}
2、加載完后執(zhí)行
window.onload=function(){
...
}
<!--2
做開發(fā)時(shí)會碰到“Internet Explorer無法打開internet站點(diǎn)文件.....操作終止”,還無法調(diào)試,主要是加載頁面時(shí)腳本引起DOM紊亂造成的。
目前我知道的會出現(xiàn)此問題的情況:
1. 在DOM加載完之前進(jìn)行了增加刪除節(jié)點(diǎn)的操作,例如appendChild,removeChild。innerHTML操作目前還沒發(fā)現(xiàn)有這個(gè)問題。
解決辦法:在jQuery(document).ready()或者在body的onload事件里執(zhí)行這些操作。
2. head包含<base target="_blank"/>,有對head對象的DOM操作也會出現(xiàn)這個(gè)問題。
解決辦法:1)<base target="_blank"/>改為<base target="_blank"></base>,沒找到相關(guān)資料解釋這個(gè)問題。
2)使用head.insertBeforeChild()代替appendChild,insertBeforeChild不會造成DOM紊亂。
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/wangjj_016/archive/2010/02/10/5304780.aspx
ASP.NET頁面PostBack后向頁面添加了js腳本,js腳本又對DOM對象進(jìn)行了操作,而DOM又沒加載完畢,導(dǎo)致瀏覽器中斷。于是出現(xiàn)“Internet Explorer無法打開站點(diǎn),已終止操作”的錯(cuò)誤。
解決方法:
1. 在DOM加載完成之后再執(zhí)行js操作;
2. 用jQuery,$(function() {function doit(){};}); 保證js腳本在DOM加載完畢之后執(zhí)行。
這個(gè)可能是我自己發(fā)神經(jīng)搞出來的個(gè)問題吧.開始懶得做,簡單用后臺直接給一個(gè)加了runat="server"的div賦值。最后又想用jquery。結(jié)果混到一起,自己先暈了。
貼上先,
GetAllFile(0);//最后是將拼出來的html代碼傳給前臺一個(gè)div
RegisterStartupScript(FN, "<script>out(1);</script>");
這樣寫呢一直就會報(bào)錯(cuò)
后來看了下,覺得可能是因?yàn)榍芭_還有其他的數(shù)據(jù)未加載完全,就改變了div的InnerHTML吧。
最后代碼:
RegisterStartupScript(FN, "<script defer=true>out(1);</script>"); //當(dāng)頁面加載完時(shí)調(diào)用
GetAllFile(0);//調(diào)用方法__再改變html