2016-06-10 4 views
0

InAppBrowser에 문제가 있습니다. 나는로드하고있어 웹 사이트에서 올 수있는 오류를 잡으려고 노력하고 내가 오류를 500코도 바 InAppBrowser loaderror 이벤트가 오류 500 발생하지 않음

을 생산하는 결함의 .htaccess에 의해이 시뮬레이션있어 나는 다음과 같은 코드가 있습니다

ref = cordova.InAppBrowser.open($openuri, '_blank', 'location=no,toolbar=no,zoom=no,enableviewportscale=no,disallowoverscroll=no'); 
ref.addEventListener("loadstop",function() { 
     ..... 
    }); 
ref.addEventListener("loaderror",function() { 
     alert('Toot'); 
    }); 
ref.addEventListener('loadstart', function(event) { 
     ..... 
}); 

웹 사이트가 열리고 모든 "loadstop"및 "loadstart"이벤트가 올바르게 작동합니다. 그러나 의도적으로 페이지에 "오류 500"을 반환하면 "loaderror"이벤트가 발생하지 않습니다.

전화 상에 인터넷이없는 경우처럼 다른 오류가 발생합니다.

왜 이런 일이 일어나고 있는지에 대한 아이디어는 높이 평가됩니다.

+0

Android 기기에서 테스트 중이십니까? – Gandhi

+1

Android 용 InAppBrowser Plugin 코드를 살펴보면 'loaderror'이벤트 처리를위한 interreal user onReceivedError 메소드가 있습니다. 그래서 나는 webview 관점에서이 문제를보고이 링크 (https://code.google.com/p/android/issues/detail?id=968)를 찾았습니다. onReceivedError 함수는 HTTP 오류를 포착하기위한 것이 아닙니다. HTTP 오류 처리의 경우 플러그인의 일부가 아닌 'onReceivedHttpError'함수를 사용해야 할 수도 있습니다. 왜 이것이 작동하지 않는지에 대해 이해할 수 있기를 바랍니다. – Gandhi

+0

@ 간디 예, 설명하겠습니다. 답변으로 의견을 게시하면 동의 할 것입니다. 감사합니다 – DreamWave

답변

4

안드로이드 용 InAppBrowser Plugin 코드를 보면, onReceivedErrorloaderror 이벤트 처리 방법을 사용하고 있습니다. 그래서 내가 webview 관점 에서이 문제를 보고이 링크를 발견했다 - https://code.google.com/p/android/issues/detail?id=968onReceivedError 함수는 HTTP 오류를 잡으려고 의미하지 않습니다.

HTTP 오류 처리의 경우 플러그인의 일부가 아닌 onReceivedHttpError 함수를 사용해야 할 수도 있습니다. 왜 이것이 작동하지 않는지에 대해 이해가되기를 바랍니다.