>我必须使用两个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>
您的问题可能出在 Internet Explorer 8 及更低版本的自定义属性上。(例如 NG-SRC)
查看本指南以获取更多信息。
本文档介绍处理自定义 HTML 属性和标记时的 Internet Explorer (IE) 特性。如果您计划在 IE v8.0 或更早版本上部署 Angular 应用程序,请阅读本文档。(强调我的)
要查看是否确实如此,请尝试按照 kmdsax 的建议进行操作,将ng-src
更改为简单的 src
.如果这有效,那么您的问题很可能是自定义属性。
注意:根据文档,如果您不使用ng-src
那么您的 iframe 将无法解析为正确的地址。因此,请确保您阅读了IE兼容性指南,以使IE8及更低版本的行为。
我在IE8中测试了您的代码,它似乎工作正常。
你在这里真的不需要用ng-src
,你也可以用src
,{{myUrl}}
变量的计算结果是一样的。试试看,看看它是否对你有所作为。