最近寫程式遇到這樣一個很奇怪的問題,在同學的機子上正常,在我這就報“……無法開啟網站……,……已終止操作”這樣的錯誤,上網查了一下,找到個解決方案不錯
我的是用第二種解決的
(1)在appendChild或者innerHTML操作處判斷document.readyState=="complete", 若為否,則setTimeout若干秒之後重新作這個操作。但是,此屬性只對ie,opeara有效,ff的document沒有readyState屬性,永遠是undefined.
(2)在script中使用defer屬性。意在頁面載入完畢後再執行指令碼,這樣可以避免找不到對象的問題。defer不會考慮外部檔案是否全部下載完,只會判當前頁面是否全部載入完成。並且,有defer標籤的代碼塊裡不能寫document.write方法
例如:<script language="javascript" type="text/javascript" defer="defer" src="<%=basePath %>js/DatePicker/WdatePicker.js" ></script>
(3)標籤是否沒有閉合
原來同學用的瀏覽器是IE8,可能對這樣的錯誤已經做了處理,所以未加defer前也是正常,而我的用的是萬惡的IE6,所以出錯了。
另外,如果類似第二種方法還出錯的話,請一定記得引用的時候加上<%=basePath %>!!
最近寫程式遇到這樣一個很奇怪的問題,在同學的機子上正常,在我這就報“……無法開啟網站……,……已終止操作”這樣的錯誤,上網查了一下,找到個解決方案不錯
我的是用第二種解決的
(1)在appendChild或者innerHTML操作處判斷document.readyState=="complete", 若為否,則setTimeout若干秒之後重新作這個操作。但是,此屬性只對ie,opeara有效,ff的document沒有readyState屬性,永遠是undefined.
(2)在script中使用defer屬性。意在頁面載入完畢後再執行指令碼,這樣可以避免找不到對象的問題。defer不會考慮外部檔案是否全部下載完,只會判當前頁面是否全部載入完成。並且,有defer標籤的代碼塊裡不能寫document.write方法
例如:<script language="javascript" type="text/javascript" defer="defer" src="<%=basePath %>js/DatePicker/WdatePicker.js" ></script>
(3)標籤是否沒有閉合
原來同學用的瀏覽器是IE8,可能對這樣的錯誤已經做了處理,所以未加defer前也是正常,而我的用的是萬惡的IE6,所以出錯了。
另外,如果類似第二種方法還出錯的話,請一定記得引用的時候加上<%=basePath %>!!