2009-11-08 6 views
0

내 WebView가 특정 html 페이지 (예 : index2.html)를 로컬로로드하는지 확인하고 싶습니다. 그게 가능하니? 감사!!WebView에서 특정 페이지를로드하고 있는지 어떻게 확인합니까?

편집 :

이 코드를 사용했다 : 나는 "urlLocation1"에서 CURRENTURL에서 "절대 문자열"상대 문자열을 사용하기 때문에 ....

NSString *currentURL 
    = webview1.request.URL.absoluteString; 

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"indexPRO" ofType:@"html"]; 

    urlLocation1 = [NSURL fileURLWithPath:filePath]; 

    if(currentURL = urlLocation1){ //Do something.. 

하지만 일인가요?

답변

1

'로딩'속성을 확인하여 완료 여부를 확인할 수 있습니다. "요청"속성을 검사하여 NSURLReqest가로드 또는로드 된 내용을 확인할 수 있습니다. UIWebView delegate 방법

webViewDidFinishLoad 또는 웹보기의
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 

// examine request to see what url is about to load. 
// return YES to allow the load, NO to disallow. 
// don't forget to set the delegate: 
// myWebView.delegate = self; 

    return YES; 
} 

하나에서

2

봐 : 요청이 완료 될 때 didFailLoadWithError가 호출된다. 언급 한 바와 같이 UIWebView 객체의 "loading"속성을 확인하면 무언가가 여전히로드되어 있는지를 알 수 있습니다.

if(myWebView.loading) ... 

편집 :

// compare scheme property of URL against "file" 
if([[webview1.request.URL scheme] isEqualToString:@"file"]){ 
    NSLog(@"load request is local file"); 
    // ... your code here ... 
} 

내가있는 UIWebView 여부를 알 수 없습니다 : 귀하의 추가 정보에 대한 응답으로, 다음을 시도 (난 당신이 ... 뭘 하려는지 이해 가정) 로드가 완료되면 "request"속성은 유효합니다. 테스트하지 않았습니다. 그렇지 않은 경우 가장 최근에로드 된 URL의 개인 사본을 보관하거나 다른 곳에서 요청하십시오.

관련 문제