簡體   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