Javascript AngularJS v1.4.4';预期标识符';IE10上的错误
我正在VS2013中使用Angular JS项目(Angular版本1.4.4)创建一个MVC5。我一直在编码,一切都很好,然后突然我在发射时发现了这个错误: CRIPT1010中第5395行第34列的JavaScript严重错误:预期标识符 我只在IE10上得到这个错误,它在Chrome上运行良好 我的引用位于布局文件中,如下所示:Javascript AngularJS v1.4.4';预期标识符';IE10上的错误,javascript,angularjs,visual-studio-2013,asp.net-mvc-5,internet-explorer-10,Javascript,Angularjs,Visual Studio 2013,Asp.net Mvc 5,Internet Explorer 10,我正在VS2013中使用Angular JS项目(Angular版本1.4.4)创建一个MVC5。我一直在编码,一切都很好,然后突然我在发射时发现了这个错误: CRIPT1010中第5395行第34列的JavaScript严重错误:预期标识符 我只在IE10上得到这个错误,它在Chrome上运行良好 我的引用位于布局文件中,如下所示: <link href="~/Content/bootstrap.css" rel="stylesheet" /> <link href="~/C
<link href="~/Content/bootstrap.css" rel="stylesheet" />
<link href="~/Content/Site.css" rel="stylesheet" />
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Scripts/angular.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/Scripts/angular-route.js"></script>
任何帮助都将不胜感激 这似乎是最近在
v1.4.4
中特别引入的,根据:
$animateCss:确保skipBlocking避免了先发制人的过渡延迟样式
要将引发某些上下文错误的行再展开一点,请执行以下操作:
var $CoreAnimateCssProvider = function() {
this.$get = ['$$rAF', '$q', function($$rAF, $q) {
var RAFPromise = function() {};
RAFPromise.prototype = {
done: function(cancel) {
this.defer && this.defer[cancel === true ? 'reject' : 'resolve']();
},
end: function() {
this.done();
},
cancel: function() {
this.done(true);
},
getPromise: function() {
if (!this.defer) {
this.defer = $q.defer();
}
return this.defer.promise;
},
then: function(f1,f2) {
return this.getPromise().then(f1,f2);
},
'catch': function(f1) {
return this.getPromise().catch(f1);
},
'finally': function(f1) {
return this.getPromise().finally(f1);
}
};
//... more code
这个$CoreAnimateCssProvider
没有包含在1.4.3
中,所以它绝对是新的
我的建议是,您暂时试用版本
1.4.3
,直到这个错误被修复。我在IE 11.0.9600中遇到了类似的问题。我尝试了1.4.3,angular.min.js刚刚抛出了一个新错误:
SCRIPT5007: Object expected
File: angular.min.js, Line: 7, Column: 238.
还尝试了1.6.1,它在js中的另一个“.catch”上抛出了另一个错误
然而,这个错误也可能是由于doctype出错和IE试图以旧模式解析东西造成的。要修复此问题,请将以下内容添加到web.config文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=10" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
我建议您使用版本1.3.18
,因为它是最后一个稳定的版本。到今天为止,AngularJS团队还没有发布稳定的1.4.x
版本。@yvemancera,你确定吗?在Visual Studio 2013 NuGet Manager中,它被列为一个稳定的版本。我不好,看起来你是对的,1.4.4是一个稳定的版本。我在AngularJS上发现了这个,它说它影响IE8,但也可能影响IE10。它不允许将catch
作为标识符,因为它是ES3上的保留字。我尝试了1.4.3,angular.min.js刚刚抛出了一个新错误:SCRIPT5007:Object预期文件:angular.min.js,第7行,第238列。这是在IE 11.0.9600中。还尝试了1.6.1,但在.catch中出现了另一个错误。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=10" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
<meta http-equiv="X-UA-Compatible" content="IE=11" />
<!doctype html>