【问题标题】:MacOS/OSX Webview not opening external linksMacOS/OSX Webview 未打开外部链接
【发布时间】:2017-03-29 11:06:48
【问题描述】:

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

外部链接在单击时不会加载/执行任何操作(应在 web 视图内)。内部链接按预期加载

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

【问题讨论】:

    标签: objective-c macos webview


    【解决方案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
    

    检查这是否适合你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 1970-01-01
      • 2014-07-12
      • 2018-02-11
      • 2017-08-06
      相关资源
      最近更新 更多