我正在使用可可框架创建一个 mac 应用程序。我添加了一个 Webview,其中加载了一些 HTML 内容。WebView 是可编辑的。我通过在标签中附加 HTML 内容来添加图像。现在,我需要做的是检测图像点击?当用户单击 webview 中的任何图像时,我必须显示一条警报,提示“单击图像名称”。
所以任何人都可以让我知道如何检测图像点击以及 webview 中的标签信息。
谢谢, iPhoneDv
我正在使用可可框架创建一个 mac 应用程序。我添加了一个 Webview,其中加载了一些 HTML 内容。WebView 是可编辑的。我通过在标签中附加 HTML 内容来添加图像。现在,我需要做的是检测图像点击?当用户单击 webview 中的任何图像时,我必须显示一条警报,提示“单击图像名称”。
所以任何人都可以让我知道如何检测图像点击以及 webview 中的标签信息。
谢谢, iPhoneDv
一旦你了解了 webview 的工作原理,这并不难,你实现了一个 UIWebViewDelegate。其中一项功能是
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
在这里,您可以在 request.URL 中获取 url,在那里您可以 f.ex。解析它,用斜杠(/)和更多选项分割,检查链接中的一些参数,然后触发代码中的一些方法。但是您需要返回 NO,以便该方法不会呈现链接页面。
对于这个例子,我只是想象所有图片链接都不是http://example.com/1.gif而是图片://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;
}