内でUIWebView:shouldStartLoadWithRequest:
、ロードされているページがローカルファイルなのかリモートファイルなのか知りたいのですが。これを見つける簡単な方法はありますか?
ファイルがロードされるたびにファイルシステムを検索してファイルを探すことができると思いますが、別の方法はありますか?
内でUIWebView:shouldStartLoadWithRequest:
、ロードされているページがローカルファイルなのかリモートファイルなのか知りたいのですが。これを見つける簡単な方法はありますか?
ファイルがロードされるたびにファイルシステムを検索してファイルを探すことができると思いますが、別の方法はありますか?
Yes it is possible. You should use a regular expression to test against the hostname. Local pages won't match the regular expression.
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
static NSString *regexp = @"^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9-]*[a-zA-Z0-9])[.])+([A-Za-z]|[A-Za-z][A-Za-z0-9-]*[A-Za-z0-9])$";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regexp];
if ([predicate evaluateWithObject:request.URL.host]) {
[[UIApplication sharedApplication] openURL:request.URL];
return NO;
} else {
return YES;
}
}