【发布时间】:2016-10-03 16:56:51
【问题描述】:
我开发了一个 AngularJS 应用程序,它可以在 Firefox、Opera、Safari、Edge 和 Chrome 上运行,但不能在 IE 11 上运行。
这是我在 IE 11 中打开应用程序时收到的具体错误消息:
[$injector:modulerr] 未能实例化模块 TicketSystemApp 到期 to:错误:[$injector:modulerr] 无法实例化模块 TicketSystemControllers 由于:错误:[$injector:nomod] 模块 'TicketSystemControllers' 不可用!你要么拼错了 模块名称或忘记加载它。
我的模块应用似乎没有加载。
这是我的整个脚本加载:
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<!-- Angular js -->
<script src= "js/angular.min.js"></script>
<script src="https://code.angularjs.org/1.5.0/angular-route.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-animate.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-aria.min.js"></script>
<!-- Angular Material Library -->
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.7/angular-material.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular-messages.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src = "js/ui-bootstrap-tpls-1.2.1.js"></script>
<script src="bower_components/angular-bootstrap-lightbox/dist/angular-bootstrap-lightbox.js"></script>
<script src="js/angular-ui-router.js"></script>
<script src="js/md-data-table.min.js"></script>
<script src="js/toArrayFilter.js"></script>
<!-- auto-scroll module -->
<script src="bower_components/angular-scroll-glue/src/scrollglue.js"></script>
<script src = "js/app.js"></script>
<!-- Controllers -->
<script src = "js/controllers.js"></script>
<script src ="js/globalFunctions.js"></script>
<!-- Custom File Upload Angular -->
<script src="js/ng-file-upload-shim.min.js"></script> <!-- for no html5 browsers support -->
<script src="js/ng-file-upload.min.js"></script>
<!-- FACTORY -->
<script src = "js/authInterceptor.js"></script>
<!-- Services -->
<script src="js/auth.js"></script>
<script src="js/session.js"></script>
<!-- loading bar -->
<script src="bower_components/angular-loading-bar/build/loading-bar.min.js"></script>
我有这个作为我的 html 标签:
<html lang="en" ng-app="TicketSystemApp" xmlns:ng="http://angularjs.org" class="ng-app:TicketSystemApp" id="ng-app">
我的头标签里确实有这个:
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
我已尝试手动引导,但我只收到两次相同的错误消息。
这是我的 app.js(只是初始化):
var TicketSystemApp = angular.module('TicketSystemApp',[
'ngRoute',
'TicketSystemControllers',
'angular-loading-bar',
'ngAnimate',
'ui.router',
'ui.bootstrap',
'ngMaterial',
'md.data.table',
'angular-toArrayFilter'
]);
这是我的 controller.js(只是初始化)。我用这个模块来包含所有控制器:
var TicketSystemControllers = angular.module('TicketSystemControllers',[
'ngRoute',
'ui.router',
'ui.bootstrap',
'angular-loading-bar',
'ngAnimate',
'ngMaterial',
'ngMessages',
'ngFileUpload',
'md.data.table',
'bootstrapLightbox',
'luegg.directives'
]);
【问题讨论】:
-
如果您不向我们展示您的 JS,我们实际上无法诊断任何内容。请包含
TicketSystemApp的来源,并考虑删除所有不相关的额外 HTML/JS 标记。 -
在调试时也使用非缩小版的 angular.js,这样您可以获得更详细的错误消息。
-
Harris,我已经包含了我的 app.js。 Lex,谢谢你的建议。
-
@KentaGoto 当您将此标记为 Internet Explorer 问题时,是因为您只在 IE 中测试过它,还是它实际上在其他浏览器中有效?
-
@HarrisWeinstein 我已经测试过,它适用于所有其他现代浏览器。此错误消息非常特定于 IE。相同的代码,在以下浏览器的控制台中没有错误消息:Firefox、Opera、Safari、Edge 和 Chrome
标签: javascript html angularjs internet-explorer