18

編集:これは Chrome v43 に関連しているようです。v42 にダウングレードすると、すべて正常に動作します。

編集: Angular の Github リポジトリに問題を提出しました。

angular.jsソースのreturn logFn.apply(console, args);行ごとにエラーがスローされるようです 。12221

Chromium バグへのリンクは次のとおりです。

今何をすべきかのヒントはありますか?


アプリを AngularJS v1.2 から v1.3 または v1.4 に移行しようとしていますがTypeError: Illegal invocation、Chrome を使用しています (win、osx、および ubuntu を試しました)。

スタック トレースはあまり役に立ちません。

TypeError: Illegal invocation
    at equals (angular.js:1034)
    at equals (angular.js:1034)
    at equals (angular.js:1034)
    at equals (angular.js:1034)
    at equals (angular.js:1034)
    at Scope.$get.Scope.$digest (angular.js:15550)
    at Scope.$get.Scope.$apply (angular.js:15824)
    at done (angular.js:10263)
    at completeRequest (angular.js:10435)
    at XMLHttpRequest.requestLoaded (angular.js:10376)

これはAJAXリクエストと関係があるようですが、私も取得しています:

TypeError: Illegal invocation
    at equals (angular.js:1034)
    at equals (angular.js:1034)
    at equals (angular.js:1034)
    at equals (angular.js:1034)
    at equals (angular.js:1034)
    at Scope.$get.Scope.$digest (angular.js:15550)
    at Scope.$get.Scope.$apply (angular.js:15824)
    at tick (angular.js:10983)

モデルクラスを更新するために使用$intervalしています(これはファクトリであり、$scope.clientこのクラスに設定することでビューに反映されます):

var runTimer = function () {
    self.timeOnline = time(self.timeSoFar);
    self.timeSoFar = Date.now() / 1000 - self.alarmTriggeredTime;
};

$interval(runTimer, 1000);

に問題があると思います$digest/$apply。これをデバッグするのに何時間も費やしましたが、何が起こっているのかまだわかりません。

さらなるデバッグへのポインタは大歓迎です。

4

1 に答える 1