UIWebView에서 페이지가 사용자가 "중지"되는 것이 아니라 페이지를로드하지 못한시기를 어떻게 알 수 있습니까?
-
12-09-2019 - |
문제
웹 브라우징 기능을 제공하는 데 사용하는 응용 프로그램 내에 UIWebView가 있습니다.
툴바에 전화를 걸어 버튼이 있습니다
-(void)stopLoading;
Uiwebview에서. 이것의 문제는이 메소드가 웹보기로 전송 될 때 대의원이
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;
메시지. 이 호출과 함께 제공되는 오류는 다음과 같습니다. 작업을 완료 할 수 없습니다. (Nsurlerrordomain 오류 -999.)
또한 didfailload 메시지를 사용하여 페이지가 실제로로드되지 않았는지 알 수 있습니다.이 경우 HTML 형식의 메시지를 사용자에게 표시 하여이 실패를 전달합니다.
따라서 문제는 사용자가 정지 버튼을 누르면 중지되기 전에로드 된 페이지의 모든 부분을 표시하는 대신 오류 페이지가 표시된다는 것입니다.
NSERROR.H에 비교할 수있는 열렬한 오류 코드가 포함되어 있기를 바랐습니다. 그러나 로그에 나오는 오류 코드에 대한 내 관찰을 기반으로 내 직접 만들어야하는 것 같습니다. 그들이 미래에 변화 할 수 있기 때문에 이상적입니다 ...
모든 제안은 좋을 것입니다. 감사합니다.
해결책 2
이것을 해결할 수있는 가장 좋은 방법은 WebView가 제공 한 오류 코드를 사용하여 열거를 만드는 것이 었습니다.
변화하는 것처럼 보이지는 않지만, 만약 그렇다면, 잘 um.
이제 내로드 실패 방법에서 오류 객체의 오류 코드를 열거와 비교하고 무슨 일이 있었는지 알 수 있습니다.
typedef enum {
BrowserErrorHostNotFound = -1003,
BrowserErrorOperationNotCompleted = -999,
BrowserErrorNoInternetConnection = -1009
} BrowserErrorCode;
다른 팁
해당 오류 코드는 Foundation.framework의 NSURLERROR.H에 정의됩니다.
제휴하지 않습니다 StackOverflow