2012-09-28 58 views
4

我有一個問題,我似乎無法理解。Angular JS ng式和Internet Explorer 8

在IE8中,ng-style指令似乎根本不起作用。我用它來設置元素的寬度。在所有其他瀏覽器上,它工作正常。

在IE8上,用蹩腳的F12工具檢查元素,style屬性完全丟失。

任何人都可以告訴我是否有解決方法?我使用的angularjs版本是在寫作(1.0.2)

感謝

+0

你可以發佈jsFiddle嗎?它在IE8模式下對我來說工作正常:http://jsfiddle.net/g/NLrYx/1/ – Guillaume86

+0

它的確在工作。我使用$ scope中的一個變量來設置我的代碼中的寬度。我不能在小提琴中重現整件事,但我會試驗更多並更新主題。 –

+0

檢查js控制檯的錯誤和IE調試窗口中的解釋的DOM,我已經看到IE8很難用複雜的文本內部屬性。 – Guillaume86

回答

2

好吧,我發現爲什麼{{}}不是在IE7的工作時間穩定版本:你必須填充工具JSON .stringify因爲它是用來顯示對象和IE7沒有它,如果你顯示一個字符串它的工作:

http://jsfiddle.net/NLrYx/3/

在IE7 compat的更多信息:http://docs.angularjs.org/guide/ie

JSON腳本:https://github.com/douglascrockford/JSON-js/blob/master/json2.js

+0

很奇怪。因爲我剛剛解決了這個問題,但方式不同。我沒有填充任何東西,我只是把id =「ng-app」放在我的根div上,它開始在IE7中工作,沒有任何字符串化。 –

+1

你可以發表小提琴嗎?它聽起來並不正確,你可能會引導兩次角度,而IE7沒有JSON,所以如果嘗試在對象上{{}}總是會失敗,沒有使用polyfill。 – Guillaume86

+0

不是這樣。我注意到,在IE7中,我有兩種引導方法:通過代碼(使用angular.bootstrap方法)或通過屬性來實現,但ng-app屬性本身不起作用。它還需要id =「ng-app」才能啓動。 –