我遇到FireFox和Opera无法渲染我的应用程序的问题。虽然Chrome和IE工作得很好。
我认为我已经缩小了问题范围,并且在执行此操作后会发生:
<script data-main="js/main" src="lib/require/require-2.1.0.js"></script>
这是js / main的内容:
require.config({
paths: {
jquery: '../lib/jquery/jquery-1.8.2.min',
bootstrap: '../lib/bootstrap/js/bootstrap',
underscore: '../lib/underscore/underscore',
angular: '../lib/angular/angular',
angularResource: '../lib/angular/angular-resource',
text: '../lib/require/text'
},
shim: {
'angular' : {'exports' : 'angular'},
'angular-resource' : {deps:['angular']},
'bootstrap': {deps:['jquery']},
'underscore': {exports: '_'}
},
baseUrl: 'js/',
priority: [
"angular"
],
urlArgs: 'v=1.1'
});
require( [
'angular',
'app',
'services/services',
'controllers/controllers',
'controllers/navbar',
'filters/filters',
'directives/directives',
'routes'
], function(angular, app) {
angular.element(document).ready(function () { //BREAKPOINT SET HERE
console.log("Getting ready to bootstrap: ");
angular.bootstrap(document, ['myApp']);
});
});
正如我之前提到的,它适用于Chrome和IE,但不适用于Firefox。附件是截图,断点设置在main.js中(注释显示断点的位置)。屏幕截图显示了FF和Chrome中的局部变量... Chrome中的那些已正确加载,而FF中的那些变量未加载。
我认为这是一个小问题,但我找不到。任何帮助表示赞赏!!!
答案 0 :(得分:3)
我遇到了同样的问题,它可以在Chrome中运行但不适用于Firefox。
我设法使用以下方法使其工作。这是在html中使用ng-app并基本上暂停了bootstrap过程,直到requirejs完成了它的魔力。
window.name = "NG_DEFER_BOOTSTRAP!";
/* require config here */
requirejs(['jquery','underscore','angularjs'], function ($, _ ) {
/* create angular app here */
angular.element(document).ready(function () {
angular.resumeBootstrap();
});
}
我正在使用angularjs 1.2.0rc3并在FF 24,Chrome 30.0.1599.101 m,IE 10中测试