2016-11-15 15 views
0

私は基本的なWebViewローディングと外部ウェブページを持っています。MacOS/OSX Webviewは外部リンクを開けません

外部リンクはクリックされても何も実行されません(webview内のは、となります)。内部リンクの負荷アイブ氏はWebPolicyDelegate見plistセットで

  • アプリのトランスポート・セキュリティ設定が

  • を「任意の負荷を許可する」と予想通り:https://developer.apple.com/reference/webkit/webpolicydelegate?language=objcを私はithoughtおそらく私はポリシーを設定するために、必要に応じしかし、これが唯一のようです別のブラウザで余分なリンクを読み込むときに適用する

どのボックスにチェックを入れてもらえませんか?

答えて

1

WebPolicyDelegateとWebUIDelegateの2つのメソッドを定義する必要があります。別のタブやウィンドウで開く必要があるものも含めて、すべてのドメインのすべてのページを開きます(同じWebViewでも開きます) 。私の場合は

は、私は私のためにそれを処理するために、WebViewのサブクラス(VMWebView)を作成しました:それはあなたのために働く

@implementation VMWebView 

-(void)awakeFromNib 
{ 
    self.UIDelegate = self; 
    self.policyDelegate = self; 
} 

-(void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request 
     frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener 
{ 
    // Opens everything 
    [listener use]; 
} 

-(WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request 
{ 
    // Opens new tab/window pages 
    return sender; 
} 

@end 

確認してください。

+0

ニース、ありがとう – JSA986

関連する問題