2011-06-25 67 views
7

我在IE9中遇到了一個非常奇怪的錯誤。當我在localhost的jsp頁面中使用DOMParser時,它運行得非常好,並給出正確的結果。但是令人震驚的是,當我在一個普通的HTML文件中使用DOMParser時(不是在服務器上,從文件系統中),我得到了這個令人討厭的消息:「DOMParser is undefined」。這是什麼以及如何使它工作?謝謝。DOMParser在IE9中未定義

P.S.它工作正常FF和Chrome

+0

可以從文件系統 –

+0

訪問文件時,我該如何檢查的依賴於不同的安全設置設置? – mihsathe

+0

對不起,遲到的答案,我不得不去上班。我在虛擬機上檢查過它,它在默認設置下工作。你確定你的IE9運行在IE9模式下嗎? –

回答

9

我想說,這幾乎肯定是在瀏覽本地URL時瀏覽器以兼容模式運行。

您可以通過打開開發工具(按F12)並查看右上角來檢查該問題;如果它說它是在IE7模式下,那麼你已經發現了這個問題。切換回正常的IE9模式,它應該是正確的。

IE7不支持DomParser對象,所以如果IE9在IE7兼容模式下,它自然也會停止支持它。

好吧,這就是它在做什麼。但爲什麼這樣做呢?在IE(IE8和IE9)中有一個配置設置,它指定瀏覽器在瀏覽本地Intranet上的站點時應該進入兼容模式。現有這種設置的原因是爲了允許內部網站設計用於舊版IE的公司在不破壞這些網站的情況下升級到新版本。它旨在讓企業類型變得更容易,因爲當破解版本足夠好時,寧願不花錢來修復某些東西。

但是這對我們其他人來說是一種痛苦。

顯然,如果您的站點位於公共互聯網上,它不會受到此標誌的影響,除非您嘗試從您自己的PC上的本地主機上處理它。因此,您的解決方案是簡單地關閉瀏覽器中的此配置設置並忘記它。

當然,IE7的用戶仍然會對您的網站有這個問題,因爲他們的瀏覽器不支持您使用的功能。你可以放棄對IE7的支持,並告訴這些用戶升級。但是如果你想支持IE7用戶,我相信Dean Edwards的IE7.js腳本允許瀏覽器模仿這個功能(以及微軟忘記的其他一些東西)。

希望有所幫助。

+0

我已經想出瞭解決方案。但令人敬畏的迴應和對IE7.js的偉大建議。萬分感謝。 + 1 +最佳答案 – mihsathe

1

我收到了這個錯誤,「DOMParser is undefined」,在IE9上,它竟然是一個被禁用的插件。

名稱XML DOM文檔 出版商微軟公司 狀態已啓用

工具 - 管理加載項 - 微軟公司