我在现有的asp.net项目中引入angularjs,项目中有很多语句只能在IE 7兼容模式下工作,但是当我运行项目时,我从angularjs文件中得到以下错误
Object doesn't support property or method 'querySelector'
经过一个小小的R& D问题,我认为querySelector只是从IE 8引入的。
现在我如何使用angularjs在IE 7中使我的应用程序工作。
我不想将元标记设置为超过ie,因为我现有的应用程序依赖于ie,即不能在8及以上版本中工作。
我尝试配置角度模块禁用SCE,如下所示:
var rtApp = angular.module("realTimeNotifications", []).config(function($sceProvider) {
// Completely disable SCE to support IE7.
$sceProvider.enabled(false);
});
但仍然没有运气。
提前致谢。
答案 0 :(得分:0)
我一直在努力解决IE7和IE6的兼容性,并且发现使用angularjs版本1.1.5而不是1.2.25可以防止你描述的错误。
除了这个简单的例子之外,IE6和IE7中是否可以使用角度是另一回事。
以下代码已在兼容模式设置为ON的域中的IE6,7,8,9,11中进行了测试。
我假设可以省略该示例的许多部分。我刚开始有角度,所以无法保证使用最佳做法。它至少应该提供一个起点。
<!DOCTYPE html>
<html class="ng-app:phonecatApp" ng-app="phonecatApp" id="ng-app" xmlns:ng="http://angularjs.org" lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE; IE=9; IE=8; IE=7" />
<meta charset="utf-8">
<title>My HTML File</title>
<link rel="stylesheet" href="../stylesheets/html5.css">
<!--[if lte IE 7]>
<script src="../Includes/Client/JS/json2.js"></script>
<![endif]-->
<!--[if lte IE 9]>
<script type="text/javascript" src="es5-shim-4.0.3-min.js"></script>
<![endif]-->
<script type="text/javascript" src="html5shiv.min.js"></script>
<script type="text/javascript" src="angular-1.1.x.js"></script>
<script type="text/javascript">
var phonecatApp = angular.module('phonecatApp', []);
phonecatApp.controller('PhoneListCtrl', function ($scope) {
$scope.phones = [
{'name': 'Nexus S',
'snippet': 'Fast just got faster with Nexus S.'},
{'name': 'Motorola XOOM™ with Wi-Fi',
'snippet': 'The Next, Next Generation tablet.'},
{'name': 'MOTOROLA XOOM™',
'snippet': 'The Next, Next Generation tablet.'}
];
});
</script>
</head>
<body ng-controller="PhoneListCtrl">
<ul>
<li ng-repeat="phone in phones">
{{phone.name}}
<p>{{phone.snippet}}</p>
</li>
</ul>
</body>