美文网首页
WKWebView的WKUIDelegate

WKWebView的WKUIDelegate

作者: _RG | 来源:发表于2020-01-02 17:37 被阅读0次
-(WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures

当一个URL里面包含_blank的跳转链接时, 需要在此代理方法里面做一些处理,


-(WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures{
    NSLog(@"进入UI");
    WKNavigationType tpye = navigationAction.navigationType;
  //navigationAction.request为即将加载的请求
    NSURLRequest *que = navigationAction.request;
  //sourceFrame一般为主isMainFrame, 且sourceInfo.request.URL一般是主窗口加载的第一个URL
    WKFrameInfo *sourceInfo = navigationAction.sourceFrame;

    NSLog(@"WKNavigationType = %ld \n que.URL = %@",tpye,que.URL);

    NSLog(@"sourceInfoRequest = %@ \n mainFrame = %d",sourceInfo.request.URL,sourceInfo.isMainFrame);

    WKFrameInfo *frameInfo = navigationAction.targetFrame;
    NSLog(@"frameInfo = %@ \n mainFrame = %d",frameInfo.request.URL,frameInfo.isMainFrame);
    if (![frameInfo isMainFrame]) {
        [webView loadRequest:navigationAction.request];
    }
    return nil;
}

相关文章

网友评论

      本文标题:WKWebView的WKUIDelegate

      本文链接:https://www.haomeiwen.com/subject/ofodyctx.html