2012-01-20 17 views
4

我有一個WebView,裏面嵌入了一個YouTube視頻。視頻播放良好,除了點擊「在Youtube上觀看」時,所有內容都可以正常播放。可可:在WebView裏面點擊「在YouTube上觀看」什麼也不做

我希望「在YouTube上觀看」按鈕在默認瀏覽器上打開YouTube視頻,但目前它只是沒有做任何事情。

我有一個WebPolicyDelegate集上WebView但既不是:

- (void)webView:(WebView *)webView 
    decidePolicyForNavigationAction:(NSDictionary *)actionInformation 
     request:(NSURLRequest *)request 
      frame:(WebFrame *)frame 
decisionListener:(id<WebPolicyDecisionListener>)listener` 

也不:

- (void)webView:(WebView *)webView 
decidePolicyForNewWindowAction:(NSDictionary *)actionInformation 
     request:(NSURLRequest *)request 
    newFrameName:(NSString *)frameName 
decisionListener:(id<WebPolicyDecisionListener>)listener 

在單擊 「在YouTube上觀看」 按鈕時被調用。

我怎麼能檢測到「在YouTube上觀看」按鈕被點擊了,所以我可以在默認瀏覽器上打開它?

回答

1

「在YouTube上觀看」按鈕在新選項卡/窗口中執行導航,因此您需要實施WebUIDelegate-webView:createWebViewWithRequest:方法。您必須從請求的URL中推斷請求是否由「在YouTube上觀看」按鈕啓動。一旦你知道了,你可以告訴默認瀏覽器打開URL並從你的委託方法返回nil告訴WebKit你不允許導航。

相關問題