2011-01-07 60 views
2

症狀:MacOSX的自定義的Webkit視圖+ Flash內容可點擊的鏈接

查看Flash網站,任何瀏覽器,Flash內容工作中的鏈接,並打開一個新窗口 查看與我自定義的WebView閃光燈,點擊相同的鏈接。沒有反應。

我試過委託「decidePolicyForNewWindowAction」和「decidePolicyForNavigationAction」,但具有諷刺意味的是,這些只是在我從我的代碼啓動URL後才調用,而不是作爲用戶單擊頁面鏈接的響應。

我相信這是一個Flash應用程序的內容與它有關。我不知道如何解決這個問題。幫助將不勝感激。

回答

1

您需要爲WebView設置UIDelegate,然後在該委託中實施- (WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request

如果再設置新WebView您返回政策代表(即web視圖可在一個隱藏的窗口),這將被稱爲委託方法是:

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

到的網址Flash應用程序試圖發送該窗口位於actionInformation字典的WebActionOriginalURLKey中,並且您可以在此時決定是要導航繼續,還是將忽略發送到WebPolicyDecisionListener並以其他方式處理URL。

+0

在創建/返回新視圖之前沒有辦法預覽URL嗎?我現在想要做的就是爲鏈接URL生成一個外部瀏覽器。 這是種雞/雞蛋問題。我不想爲URL創建新視圖,但是我無法在外部啓動它,因爲我不知道它是什麼,直到我爲它創建視圖(請求始終爲「createWebViewWithRequest」方法的NIL) – JasonGenX

+0

啊,是的......這有點複雜,我必須承認。 –

+0

解決它,或者說繞過它,與我在最後的評論中提到的國旗。謝謝你的幫助! – JasonGenX