WebView がどのように機能するかを理解すれば、これはそれほど難しくありません。UIWebViewDelegate を実装します。そこにある機能の一つが
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
ここで request.URL 内の URL を取得し、そこで f.ex を実行できます。それを解析し、スラッシュ (/) とその他の多くのオプションで分割し、リンクにあるパラメーターをチェックしてから、コード内でいくつかのメソッドをトリガーします。ただし、メソッドがリンク ページをレンダリングしないように、NO を返す必要があります。
この例では、すべての画像リンクがhttp://example.com/1.gifではなく、picture://example.com/1.gifであると想像します。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *action = request.URL;
if ([[action scheme] isEqualToString:@"picture"]) {
// split url with /
NSArray *array = [stringUrl componentsSeparatedByString:@"/"];
NSLog(@"You just clicked on image : %@", [array lastObject]);
return NO;
}
return YES;
}