【发布时间】:2016-09-30 02:51:07
【问题描述】:
我正在尝试在我的应用 (Objective-C) 中将我的 UIWebView 更改为 WKWebView。
我看到WKWebView 包含标签“a”,标签“a”内部包含标签“image”:
<a href="http://click.adzcore.com/xyz"><img src="http://www.abc.xyz/smart/images/bnr/yyy.png" width="320" height="50" border="0" alt="+alt[n]+" onclick="_gaq.push(['_trackPageview','/smart/count/frognote']);"></a>
我想检测用户何时点击图片,所以我这样做了:
- (void)webView:(WKWebView )webView decidePolicyForNavigationAction:(WKNavigationAction )navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
if (navigationAction.navigationType == WKNavigationTypeLinkActivated) {
NSURL *url = navigationAction.request.URL;
[[UIApplication sharedApplication] openURL:url];
decisionHandler(WKNavigationActionPolicyCancel);
return;
}
decisionHandler(WKNavigationActionPolicyAllow);
}
但是这段代码不正确,因为WKNavigationTypeLinkActivated 在用户点击图片时没有被捕获。
【问题讨论】:
-
@NeverHopeless:感谢您的理想,但我无法控制 html 代码,因为它是从服务器返回的。我尝试使用
WKNavigationTypeOther,但它不正确,因为虽然您没有单击图像,但仍会调用事件单击。 -
对于测试,一旦你得到这个 html 尝试按照我的建议替换 a 标签(并确保只替换所需的标签:))并首先查看它是否有效,然后你可以讨论服务器团队的这个问题,如果没有必要,请删除 a 部分..
-
@NeverHopeless:谢谢,我认为这很理想,但现在我无法联系服务器团队:(
-
好的
navigationAction.navigationType是什么你收到的点击?
标签: ios objective-c watchkit wkwebview watchos