第一種情況
這幾天出現了幾次Internet Explorer無法打開站點,已終止操作的錯誤 。
一:剛開始以爲是JS代碼語法錯誤,因爲在提示“Internet Explorer無法打開站點,已終止操作”前曾提示代碼錯誤,於是,就調試了下下,把錯誤解決,就沒有提示了。
二:後來又出現了 “Internet Explorer無法打開站點,已終止操作”錯誤,沒有了代碼錯誤提示,就鬱悶了,於是到網上搜了下,大概是在IE下載完了源文件但沒有加載完,這個時候用JS的DOM對象的AppdenChid和innerHTML就會出錯。我用FireFox試下,完全沒有問題。在此鄙視下MS,解析的速度太慢了。既然是沒有加載完的時候調用出錯,那我們就等加載完再去調用得了。用
window.onready = function() {
//你的代碼
}
一試,“OK",解決了。哈哈。搞定!
給大家的建議就是兵來將擋,水來土掩。遇到問題,就去分析問題,一定能解決問題的!
第二種情況
上網google了一下, “出現這個問題一般有可能是網頁中的代碼沒有結束”, 我調試的頁面沒有出現標籤未結束的情況。。。
鬱悶,決心查找一下原因,最後查到是在頁面加載的過程中執行的一段js的問題
部分代碼如下:
1
var div = document.createElement("div");
2
div.style.display='none';
3
var oDiv = document.documentElement.appendChild(div);
總結: 在頁面加載時不要修改document 或者是向document中添加元素, 而且可能會造成這種問題。
安全的做法是把這樣的js代碼放到onload事件去觸發執行
第三種情況
打開網頁時,提示“internet explore 無法打開internet站點...,已終止操作”,
曾以爲是application 的原因,百思不得其解
今天晚上找遍了google、baidu、sogou,還是一無所獲
看原頁面代碼,查找是否 DIV 沒有結束,又不是。最後只能判斷是JS 的問題了。
不錯,正是js引發的錯誤。
由於頁面中用到了下拉條,而且,微軟把 select 的屬性值設得太高了,層是沒辦法把他遮擋住的。只能用
錯就錯在 <iframe 這裏了,頁面還沒完成,就跑 <iframe ,<iframe 還沒引發完成就跳轉,導致遊覽器中斷,所以就出現了 “internet explore 無法打開internet站點...,已終止操作”,
如下就是網頁中用到的js,
function openShim(menu,menuItem)
{
if (menu==null) return;
var shim = getShim(menu);
if (shim==null) shim = createMenuShim(menu,getShimId(menu));
只要稍微修改爲以下就可以了
function openShim(menu,menuItem)
{
if (document.readyState!="complete") return ;
if (menu==null) return;
var shim = getShim(menu);
if (shim==null) shim = createMenuShim(menu,getShimId(menu));
即加上一個載入判斷就可以了。 if (document.readyState!="complete") return ;
“internet explore 無法打開internet站點...,已終止操作”,從此消失
要在
<script type="text/javascript" src="../js/date/WdatePicker.js" defer="defer"></script>
加上 defer="defer" 如果 defer="defer"不加會出錯