0

我遇到了 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 中的那些没有。

我认为这是一个小问题,但我找不到它。任何帮助表示赞赏!

需要js

4

1 回答 1

3

我有同样的问题,它可以在 chrome 中工作,但不能在 firefox 中工作。

我设法使用以下方法让它工作。这是在 html 中使用 ng-app 并且基本上暂停引导过程,直到 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 中进行了测试

于 2013-11-05T06:15:50.867 回答