AngularJS范围变量未在IE的条件注释中得到评估

时间:2013-10-07 20:57:48

标签: angularjs

我必须使用两个iframe,一个用于IE8,另一个用于其他浏览器。我看到angularjs范围变量(myUrl)正在为后来的iframe而不是第一个进行评估。

<div id="frameContainer" class="modal-body ios-scroll">
<!--[if IE 8]><iframe ng-src="{{myUrl}}?domain=http://localhost:9001/" class="signInIframe" frameborder="0" marginheight="0" marginwidth="0" height="620" width="600"></iframe> <![endif]-->
<!--[if (gt IE 8)|!(IE)]><!--> <iframe ng-src="{{myUrl}}?domain=http://localhost:9001/" class="signInIframe" frameborder="0" marginheight="0" marginwidth="0" height="100%" width="100%"></iframe><!--<![endif]-->
</div>

2 个答案:

答案 0 :(得分:2)

您的问题可能在于Internet Explorer 8及更低版本的自定义属性问题。 (例如ng-src)

查看this guide了解详情。

  

本文档介绍了处理自定义HTML属性和标记时的Internet Explorer(IE)特性。 如果您计划在IE v8.0或更早版本上部署Angular应用程序,请阅读本文档。(强调我的)

要查看是否确实如此,请尝试通过将ng-src更改为src来执行kmdsax建议的操作。如果可以,那么您的问题很可能是自定义属性。

注意:根据the docs,如果您不使用ng-src,那么您的iframe将无法解析为正确的地址。因此,请确保您已阅读IE兼容性指南,以使IE8更低行为。

答案 1 :(得分:1)

我在IE8中测试了你的代码,它似乎工作正常。
你真的不需要在这里使用ng-src,你也可以使用src{{myUrl}}变量将被评估相同。试试看,看看它是否对你有所影响。