2014-01-27 81 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