現代軟件工程_團隊項目_阿爾法階段_IE瀏覽器引入js失敗_2018.01.04

IE瀏覽器引入js失敗


歸根結底是js語法錯誤,要仔細檢查js是否有錯(例如函數的參數中是否有沒有使用的參數)


事情起因

今天課程彙報,在教室電腦展示時,網頁只能在部分頁面正常顯示,部分頁面顯示不正常。手機嘗試也是如此。
於是今晚回到實驗室我花了5個小時搞明白這個道理。在此分享一下。

問題:IE瀏覽器獲取cookie失敗

我在window.onload()中調用了獲取cookie的函數,用來驗證用戶是否登錄,但發現在部分頁面可以獲取,其他頁面不能獲取,懷疑cookie獲取失敗,於是查閱了很多資料,但是爲什麼只是在部分頁面獲取失敗呢???爲什麼在chrom瀏覽器中可以獲取呢???
於是我嘗試在window.onload()中將頁面元素改變(手機中看不到console),根本沒有變化。
那麼問題來了,請看下面。

問題:window.onload()沒有成功調用

網上竟然有很多像我一樣查閱window.onload爲什麼在IE中沒有調用成功的,我本以爲這就是錯誤的根源了。我甚至發現,把那一小段代碼移植到html中,發現可以成功執行(下面會講爲什麼可以成功執行)。
但是我並不想一整段js放到html中,於是我就想,在html中加一個按鈕,點擊按鈕觸發js的一個函數,看看是否可以執行,竟然發現不能執行!!!!!!
也就是說在IE瀏覽器中,我的js根本沒有引入進來!!!那麼爲什麼有的界面可以引入進來呢??
我又在網上查閱了很多博客,直到我看到一個,“IE瀏覽器不能加載js都是js不夠標準的問題,chrom會自動修復js中不標準的,而IE不會”的說法。

IE瀏覽器引入js失敗

IE瀏覽器只能執行格式完全正確的js,chrom對碼農很寬容的,出現了一點小錯誤並不會報錯,而且還會自動修復。但是IE則是很認真的,他認爲碼農不能犯錯,於是我仔細的檢查了我的代碼,發現有好幾個沒寫分號的地方,但這好像不影響,直到我試着註釋掉絕大部分代碼,發現可以引用,慢慢的解開其他的註釋,找到了錯誤原因。如圖!

這裏寫圖片描述

刪掉函數調用中多餘的參數就好了!

我後來又發現不是那個原因

而是js賦初始值的方式與c不同,請看下面鏈接

http://blog.csdn.net/xklsky/article/details/51451673

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章