【发布时间】:2014-11-06 19:46:30
【问题描述】:
我在现有的 asp.net 项目中引入了 angularjs,项目中有许多语句只能在 IE 7 兼容模式下工作,但是当我运行项目时,我从 angularjs 文件中收到以下错误
Object doesn't support property or method 'querySelector'
在对这个问题进行了一些研发之后,我发现 querySelector 是仅从 IE 8 引入的。
现在如何使用 angularjs 让我的应用程序在 IE 7 中运行?
我不想将元标记设置为超过 ie 7,因为我现有的应用程序依赖于 ie 7,这在 ie 8 及更高版本中不起作用。
我尝试如下配置禁用 SCE 的 Angular 模块:
var rtApp = angular.module("realTimeNotifications", []).config(function($sceProvider) {
// Completely disable SCE to support IE7.
$sceProvider.enabled(false);
});
但还是没有运气。
提前致谢。
【问题讨论】:
-
在Running AngularJS App on Internet Explorer 7 中查看接受的答案——它提到了引导,但一般来说,正如您已经说过的,因为不支持querySelector,您还可以缩减AngularJs 的版本与IE7兼容的“更多”。 -- 另外见Dealing with IE family,特别是关于支持IE 7的部分。
-
我已经尝试过引导,但没有运气,因为问题出在 querySelector 对象上
-
我在评论中链接了另一篇专门针对 IE 的文章,它在底部有一整节,提到了 shivs、polly-fills 等。希望这会有所帮助。
-
你可以使用jQuery来添加
document.querySelector/All(selector)使用$(document).find(selector),但是IE7不支持HTMLElement.prototype,所以不能添加到其他元素中。为什么还需要支持 IE7?
标签: javascript html asp.net angularjs internet-explorer-7