繁体   English   中英

UIWebView如何检测 <img src=“…” /> 被窃听

[英]How UIWebView detect <img src=“…” /> is tapped

我知道下面的方法可以检测链接元素的点击。 但是我想知道UIView可以检测img元素是否被点击了吗?

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
switch (navigationType) {
    case UIWebViewNavigationTypeLinkClicked:
        NSLog(@"link is click");
        //do something
        break;
    default:
        break;
   }

    return true;
}

如下所示的一些html源:

<p>xxxxxxxxx</p>
<p><img src="http://imgs.ebrun.com/resources/2015_06/2015_06_16/201506167911434413787546.jpg"> </p>
<p>xxxxxxxxx。</p>
<p><img src="http://imgs.ebrun.com/resources/2015_06/2015_06_16/201506167911434413787546.jpg"> </p>
<p>xxxxxxxxx。</p>

您能告诉我如何使用示例代码吗? 谢谢。

也许这个答案可以帮助您。 基本上,您需要将标签包装在标签内,并在其中处理按钮单击事件

webView:shouldStartLoadWithRequest:navigationType

方法

您的img标签没有html click事件。 如果您可以按照以下方式制作图片-

<p>xxxxxxxxx</p>
<p><img src="http://imgs.ebrun.com/resources/2015_06/2015_06_16/201506167911434413787546.jpg" onclick="myfunction()"> </p>
<p>xxxxxxxxx。</p>
<p><img src="http://imgs.ebrun.com/resources/2015_06/2015_06_16/201506167911434413787546.jpg" onclick="myfunction()"> </p>
<p>xxxxxxxxx。</p>

然后,您可以在UIWebView Delegate方法-shouldStartLoadWithRequest中捕获img click事件。

替代选项 -

否则,您将编写一个javascript方法,以将OnClick方法动态添加到所有IMG标签。 并在页面加载到UIWebView时调用此javascript方法-

- (void) webViewDidFinishLoad:(UIWebView *)webView
{
    //Execute javascript method or pure javascript if needed
    [_webView stringByEvaluatingJavaScriptFromString:@"methodName();"];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM