我必须使用两个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>
答案 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}}
变量将被评估相同。试试看,看看它是否对你有所影响。