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 の変数は正しく読み込まれていません。

これは小さな問題だと思いますが、見つかりません。どんな助けでも大歓迎です!!!

requirejs

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 に答える