2015-01-26 8 views
0
나는 다음과 같은 AngularJS와 예외에게 사파리 모바일 자격 증명을 프롬프트가 나타납니다 저장할 때마다 발생하고

:이 plnkr에서 문제를 복제 할 수 있었다각도 infdig 예외 사파리 모바일 저장 자격 증명 프롬프트 후

[Error] Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting! 
Watchers fired in the last 5 iterations: [] 
http://errors.angularjs.org/1.3.10/$rootScope/infdig?p0=10&p1=%5B%5D 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.js:14271:31 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.js:14493:31 
https://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.js:21402:29 
[email protected]://ajax.googleapis.com/ajax/libs/angularjs/1.3.10/angular.js:3011:25 
    (anonymous function) (angular.js, line 11598) 
    (anonymous function) (angular.js, line 8548) 
    $apply (angular.js, line 14495) 
    (anonymous function) (angular.js, line 21402) 
    eventHandler (angular.js, line 3011) 
[Error] Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting! (angular.js, line 14271) 
Watchers fired in the last 5 iterations: [] 
http://errors.angularjs.org/1.3.10/$rootScope/infdig?p0=10&p1=%5B%5D 

을 : http://plnkr.co/edit/tkGGtxGRnWrfQUprDqjb . 그것은 다른 브라우저에서 본 적이 없기 때문에 Safari Mobile에 자격 증명 저장 프롬프트가 구현 된 방식의 결과 인 것으로 보입니다. 또한 프롬프트가 나타나지 않도록 자격 증명을 저장하면 오류가 발생하지 않습니다. 페이지가 예외 이후에 정상적으로 작동하는 것처럼 보입니다.이 예외를 잡아서 무시할 수는 있지만 더 나은 해결책이 있기를 바랍니다.

답변

1

이 예외를 피하기 위해 발견 된 유일한 방법은 로그인에 대한 ajax 호출이 반환 된 후 페이지를 다시로드하는 것입니다. 일부는 페이지 새로 고침을 필요로하기 때문에이 변경은 다른 브라우저 비밀번호 관리자에 대한 지원을 강화합니다. 내 각도 컨트롤러에서 페이지 변경 및 다시로드를 트리거하려면 다음 코드를 사용했습니다.

$window.location.href = '#/mypage'; 
$window.location.reload(); 
관련 문제