2014年12月8日 星期一

[Microsoft] IE- Automation伺服器無法產生物件























近日在工作上遇到一個難題,客戶的IE8無論怎樣都無法順利載入JavaScript。

即使解除IE 8 回到IE 6 問題依然存在。 啟用IE 8 的開發者工具,

發現錯誤是在執行這一段程式碼後



錯誤原因是



且發生錯誤時,網頁上的JavaScript並未正確運做,

且IE左下角會顯示"完成" (IE6),




點二下錯誤訊息會顯示類似這樣























或是"已完成 但是網頁發生錯誤"(IE8)。





點二下錯誤訊息













很幸運的找到一篇文章

卸载360安全卫士,以致ajax报错:找不到指定的模块


覺得情況十分類似,在客戶端用命令提示字元下了以下指令

cd \Windwos\System32 

dir msx*


比對了客戶端以及公司內部XP,發現客戶端少了msxml3.dll。














將xp裡的msxml3.dll 複制給客戶端後,IE功能回復正常。

經測試,此檔案無論用檔案總管或是命令提示字元,皆無法有效刪除,

但在安全模式下可輕易刪除。


XMLHttpRequest ->AJAX核心

AJAX引擎只是一個JavaScript的物件而以,也就是XMLHttpRequest物件。
 微軟IE5最先支援這個物件,Mozilla 1.0(Netscape 7),Safari 1.2及Opera都開始支援相容的物件。 值得注意的是XMLHttpRequest物件並不是標準,只是知名的瀏覽器都相繼支援。 提示找不到這個URI。但直接以瀏覽器貼上此URI卻可以正確下載此js檔案。

資料來源-

http://jck11.pixnet.net/blog/post/11624882-ajax%E6%A0%B8%E5%BF%83-xmlhttprequest%5B%E7%AD%86%E8%A8%98%5D






沒有留言:

張貼留言