我在Firefox上開發了一個AngularJS 1.2.13(和JQuery 1.11.0)的應用程序。它也適用於Chrome。現在是困難的部分。我已經遵循了幾個建議,讓這個工作在IE8上。在IE8中修復AngularJS問題
當我加載頁面時,我目前在開發工具窗口的JS控制檯中獲得了非常有用的「[object Error]」(沒有其他)。該頁面顯示了下載的原始html,所以Angular基本上無能爲力。
這裏是我的index.html的頂部:
<!DOCTYPE html>
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="DiagApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!--[if IE 8]><!--> <meta http-equiv="X-UA-Compatible" content="IE=8" /> <!--<![endif]-->
即使我不是怪異模式(在開發工具窗口中,將「文件模式」說:「IE7標準」,而不是「Quirks模式「),我仍然得到以下幾點:
[$sce:iequirks] Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.
http://errors.angularjs.org/1.2.13/ $ SCE/iequirks angular.js,行3689個字符,19
所以,我增加了以下的模塊中我的配置功能,whic^h修復了這個:
$sceProvider.enabled(false);
當我查看了「腳本」選項卡中的HTML,這一切似乎是正確着色,這表明對我來說,正確驗證(我在我的HTML導致早先發現一個錯字這不會正確着色(Firefox和Chrome忽略的錯字))。
我設置了斷點以顯示它正在加載我的模塊,並且也在主控制器中。這表明它正在加載模塊,但它不會打到我的主控制器。我嘗試在angularjs代碼中設置一些斷點,但是這導致了各種各樣曲折的段落,沒有明顯的價值。
我聽說過我應該使用< = IE8的一些polyfills,但我只注意到提及< = IE7的polyfills。
其他我可以試試嗎?
我敢肯定,你不會得到Angular 1.2 *在舊IE瀏覽器上工作。我不得不支持我們的Angular網站的舊IE瀏覽器,我可以使用的最好的是1.1.5 – Ian
回到1.1.5是另一個掙扎。我甚至無法弄清楚如何讓我的應用程序在Firefox 1.1上運行。現在我的ngRepeats都沒有工作。沒有錯誤,它只是沒有做任何事情。比較1.1.4和1.2.14中ngRepeat的文檔,我沒有看到任何明顯的語法差異。 –
我不認爲這個問題是用ng-repeat來具體說明的。你是否使用了其他可能需要降級才能使用1.1.5的庫/插件?您是否在瀏覽器控制檯中看到任何錯誤?我和你一樣使用相同的''/''格式,所以這不是問題。您是否在http://docs.angularjs.org/guide/ie上關注了其他所有內容? – Ian