gpt4 book ai didi

iphone - 如果不是链接,如何检测 UIWebView 上的点击

转载 作者:技术小花猫 更新时间:2023-10-29 11:07:42 27 4
gpt4 key购买 nike

所以我想检测 UIWebView 上的点击,如果它没有点击链接。我该怎么做呢?我知道:

- (BOOL)webView:(UIWebView *)webview shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 

在每次点击链接时被调用。但是我怎么知道它是否是点击链接以外的 UIWebView?我一直在网上搜索,找到的最接近的是 this .然而,这并没有告诉我点击是否在链接上

最佳答案

让我来告诉您为什么这是不可能的。

- (BOOL)webView:(UIWebView *)webview shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
  1. 即使这听起来很可笑,当用户单击导航类型为 UIWebViewNavigationTypeOther 而不是 UIWebViewNavigationTypeLinkClicked 的链接时,也会调用此委托(delegate)方法。互联网上常见的一些基于 javascript 的页面会发生这种情况。

  2. 即使这听起来很疯狂,但实际上用户并未单击链接时,会多次调用带有 UIWebViewNavigationTypeLinkClicked 的委托(delegate)方法。某些网站确实使用隐藏按钮上的模拟点击来嵌入框架/iframe 的内容,这会导致使用 UIWebViewNavigationTypeLinkClicked 进行多次调用。

    这种通过模拟点击嵌入内容的奇怪方式已经完成绕过某些浏览器的隐私设置。谷歌被起诉前段时间还为此赔了几百万的罚金,因为他们使用这个技巧在 Safari 浏览器中设置 cookie即使用户已将浏览器配置为不接受这些 cookies 。

因此,如果您仅依赖 UIWebView 的委托(delegate)方法,您将在没有点击时获得点击,在有点击时也没有点击。因此,在不受控制的环境中这是不可能的。

但是,你到底想做什么?

关于iphone - 如果不是链接,如何检测 UIWebView 上的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9658426/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com