【问题标题】:Intercepting a click in a UIWebView on iOS在 iOS 上的 UIWebView 中拦截点击
【发布时间】:2014-01-27 23:38:35
【问题描述】:

我需要拦截对视频前贴片广告上的 UIWebView 的点击,并将其显示在新的弹出窗口中,而不是在屏幕上很小的 UIWebView 中。

问题是我不知道被点击的 URL 是什么,而且这些点击也是通过页面上的 Javascript 处理的。后台的 UIWebView 还会发出 Javascript 报告/跟踪调用。

有没有办法检测到 UIWebView 正在打开一个新页面,而不是在适当的位置显示它,而是显示在一个弹出窗口中?

【问题讨论】:

  • 实现- webView:shouldStartLoadWithRequest:navigationType: 并检查navigationType 参数。

标签: ios objective-c uiwebview


【解决方案1】:

很好的问题。您所要做的就是实现UIWebViewDelegate protocols

这个方法:

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

很可能您将使用它来检测 UIWebView 中发生的所有事件。

【讨论】:

  • 不确定这是否会起作用,因为在 Webview 中运行的播放器可能会发生与点击相关的多种事情,例如根据点击的位置,它还可以暂停视频以及打开添加。查看可用的 UIWebViewNavigationType developer.apple.com/library/ios/documentation/uikit/reference/… 我也不确定在运行 Javascript 的情况下是否会得到 UIWebViewNavigationTypeLinkClicked。
猜你喜欢
  • 1970-01-01
  • 2012-06-15
  • 2013-11-07
  • 1970-01-01
  • 2020-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-20
相关资源
最近更新 更多