2009-11-08 133 views
0

我想检查我的WebView是否在本地加载特定的HTML页面(例如index2.html)。那可能吗?谢谢!!如何检查WebView是否正在加载特定页面?

编辑:

我已经使用这个代码:

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

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

    urlLocation1 = [NSURL fileURLWithPath:filePath]; 

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

但不工作....是因为我使用CURRENTURL“绝对串”和相对字符串“urlLocation1”?

回答

1

您可以检查其“加载”属性,看它是否完成。您可以检查“request”属性以获取NSURLReqest以查看它正在加载或已加载的内容。

2

UIWebView delegate方法

- (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; 
} 

webViewDidFinishLoad或web视图中的一个:完成请求时didFailLoadWithError将被调用。如前所述,检查UIWebView对象的“加载”属性将指示是否仍然加载了某些东西。

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一旦加载完成,“请求”属性有效,没有测试过。如果没有,请保留最近加载的URL的私人副本或请求其他地方的私人副本。

相关问题