MacOS / OSX Webview无法打开外部链接

时间:2016-11-15 14:13:05

标签: objective-c macos webview

我有一个基本的WebView加载和外部网页。

点击时,外部链接不会加载/执行任何操作(预计在Web视图中 )。内部链接按预期加载

我没有勾选/允许/错过哪个方框?

1 个答案:

答案 0 :(得分:1)

您需要定义这两个方法(一个来自WebPolicyDelegate,另一个来自WebUIDelegate)来打开每个域的每个页面,包括应该在不同的选项卡或窗口中打开的那些(虽然它将在同一个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

检查这是否适合你。