我正在建立一个单页网站,使用AngularJS,ui-router和jquery,我需要它来支持8个浏览器。
我按照AngularJS文档(link)中的说明进行操作,并阅读this并按照其说明进行操作。
简而言之:我在标题中添加了这段代码:
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="myApp">
还有:
<!--[if lt IE 9]>
<script type="text/javascript" src="/app/js/3rdparty/html5shiv.js"></script>
<script type="text/javascript" src="/app/js/3rdparty/json3.min.js"></script>
<![endif]-->
我的所有指令都被限制用作属性指令(没有自定义标签) 但是,仍然没有呈现任何视图,也没有指令正在工作(在ie8上)。
我最近才开始使用ui-router,问题就在此之前就存在了
我真的找不到问题,而且我搜索了很多
我知道,有许多重复项,但他们的解决方案都没有帮助我(其中大多数都提到了angularjs的文档)。
我没有发布任何其他代码,因为它有很多,我真的无法弄清楚代码的哪一部分(除了index.html)可能导致任何问题。
如果您认为它可能会有帮助,我会发布任何其他代码
我真的迷路了,如果有人能引导我找到解决方案,我真的很感激
非常感谢你
答案 0 :(得分:9)
如果您在控制器或服务或工厂中使用过任何console.log()
,则IE-8根本不会加载角度。有点奇怪。
答案 1 :(得分:4)
obj.class
只是让IE8吓坏了。functionHoldingObject.delete
。
我知道保留字,我只是不认为使用它们作为对象的参数是有害的。
为了解决这个问题,我刚刚更改了一些名称,并将obj["reservedWord"]
用于其他名称,这两种解决方案都适用于所有浏览器。
我发现的另一个错误是,我在使用Array.prototype.indexOf
函数时却不知道IE8不支持它。所以我只是添加了一个实现(这非常简单)
您可以在MDN网站上获得相关帮助。
答案 2 :(得分:0)
由于兼容模式,我最近遇到了同样的问题。
尝试强制使用:
<!--[if IE 8]><!--> <meta http-equiv="X-UA-Compatible" content="IE=8" /> <!--<![endif]-->
同时在IE8浏览器中检查您的兼容模式不是IE7。