【发布时间】:2014-12-04 18:16:04
【问题描述】:
我正在尝试让我的 AngularJS 应用程序在 IE8 上可用。我正在使用AngularJS v1.2.16。使用 (http://www.browserstack.com/) 进行测试,当我将堆栈设置为 IE8 时,我可以看到这一切都崩溃了。但是,当我注入此行时,我正在关注 this link from angular docs 以使该应用程序正常工作
<html xmlns:ng="http://angularjs.org" id="ng-app" ng-app="myApp">
浏览器不显示页面上的任何对象(仅显示页眉和页脚),并且仍然无法在 IE 上运行。这是因为上面这段特定的代码
ng-app="myApp"
我想知道这是否是我无法让我的应用在 IE8 上运行的原因。我已经实现了链接提供的方向的所有方向。但是,我也不确定我是否完全实现了document.createElement(); 组件。我所做的是将我使用过的所有ng-... 标签添加到列表中,如图所示。
<!--[if lte IE 8]>
<script>
document.createElement('ng-include');
document.createElement('ng-pluralize');
document.createElement('ng-view');
document.createElement('ng-click');
document.createElement('ng-repeat');
document.createElement('ng-show');
// Optionally these for CSS
document.createElement('ng:include');
document.createElement('ng:pluralize');
document.createElement('ng:view');
document.createElement('ng:click');
document.createElement('ng:repeat');
document.createElement('ng:show');
</script>
<![endif]-->
第一个问题的原因可能是什么?我是否正确执行了第二个组件?有没有更好/更简单的方法让我的应用在 IE8 中运行?如果不是,我如何将它们重定向/路由到不同的视图并将它们引导到upgrading their browser?谢谢。
EDIT1: 按照 KevinB 的建议,我使用了 IE10 开发工具,切换到 IE8 浏览器模式以查看 js 错误,我得到了这两个错误
SCRIPT438: Object doesn't support property or method 'addEventListener'
jquery.js, line 3425 character 4
SCRIPT5022: Bootstrap's JavaScript requires jQuery
bootstrap.js, line 7 character 38
livepo 建议这似乎是 jQuery 的错误(2.xx 不支持 IE8,必须是 1.11.x)。
将 jQuery 版本更改为 1.11.1 并消除了错误,但视图仍然一团糟。这是因为 bootstrap compatibility 使用 IE8。
结论:这个问题会引出许多不同的问题,因此将打开一个新问题以供进一步讨论。感谢大家对此的支持。
【问题讨论】:
-
您使用的是旧版本的 AngularJS 吗? 最新版本 (1.3) 不支持 IE8。
-
我的猜测是该指南是为 Angular 1.2 而不是 1.3 编写的
-
@KevinB 最新的稳定版本 (1.2.X) 可以。最新的不稳定版本 (1.3.X) 没有。幸运的是,Angular 指南明确提到了 OP 希望注意到的 1.3 和 1.2 中的差异
-
@Jonathan 大概只要 MS 支持 Windows7,2020 年 1 月 14 日?
-
是的,jQuery 2.x 是罪魁祸首。您可以安全地将其切换到 1.11.1,而不必担心冲突。
标签: javascript angularjs internet-explorer internet-explorer-8