2014-01-27 37 views
0

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

问题是我不知道正在点击的URL以及这些点击是否通过页面上的Javascript处理。在后台也会有UIWebView的Javascript报告/跟踪调用。

有无论如何检测到UIWebView正在打开一个新的页面,而不是显示在它弹出显示的地方吗?

+0

执行' - webView:shouldStartLoadWithRequest:navigationType:'并检查'navigationType'参数。 – 2014-01-27 23:41:27

回答

0

伟大的问题。您只需要执行UIWebViewDelegate protocols即可。

这种方法:

  • (BOOL)webView的:(UIWebView的*)webView的shouldStartLoadWithRequest:(的NSURLRequest *)要求navigationType:(UIWebViewNavigationType)navigationType

是有可能你会使用到的一个检测UIWebView中发生的所有事件。

+0

不确定这是否会起作用,因为在Webview中运行的播放器有多个可能发生的与点击相关的事情,例如,取决于点击的位置,它也可以暂停视频以及打开添加。看看可用的UIWebViewNavigationType https://developer.apple.com/library/ios/documentation/uikit/reference/UIWebView_Class/Reference/Reference.html#//apple_ref/doc/c_ref/UIWebViewNavigationType我也不确定我会得到一个UIWebViewNavigationTypeLinkClicked在Javascript正在运行的情况下。 – Andrew