在實際的項目中,我的這個js是在頭部頁面裡面,頭部被多個頁面引用,如果在每個頁面的body元素裡面加<body onload="函數">,可以解決問題,但是這樣做太不符合實際了。畢竟全改的話,到時候布署到外網,要更新太多的文件。於是,在網上找了一下,讓這段js最後執行的代碼,終於讓我找到了。代碼如下:
復制代碼 代碼如下:
<scirpt type="text/javascript">
document.onreadystatechange = function(){
if(document.readyState=="complete")
{
alert('加載完畢');
}
}
</script>
我把alert("加載完畢")這段改成我要最後執行的js代碼,終於IE6不再報這個錯誤,測試IE6、IE7、IE8、谷歌浏覽器都能通過。
但是火狐不支持這段代碼,因為還得再原先的代碼基礎上加一段只有火狐能運行的代碼,總代碼如下:
復制代碼 代碼如下:
<script type="text/javascript">
/* IE6 7 8,谷歌 */
document.onreadystatechange = function(){
if(document.readyState=="complete")
{
alert('加載完畢');
}
}
/* 火狐 */
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", function(){alert("DOM加載完畢!")}, null);
}
</script>
PS:我沒用jquery,是因為我們這個項目沒有用過jquery庫,不得不承認,也許用jquery的話,只是一句話的問題,但是加入jquery.js只是為了處理這個的話,未必太大材小用了。