首页 > 解决方案 > 在 WKWebview 中的 url 请求上返回空内容

问题描述

我想为请求特定 url 的页面部分返回一个空内容。

我在Android中做了同样的事情。当请求特定 url 时,这将返回空内容。我想在 iOS WKWebView 中做同样的事情。我正在尝试用 Swift 4 编写。

     mWebView.setWebViewClient(new WebViewClient() {

        private Map<String, Boolean> loadedUrls = new HashMap<>();

        @TargetApi(Build.VERSION_CODES.HONEYCOMB)
        @Override
        public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
            return Utils.createEmptyResource();
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
        }

        @Override
        public void onPageFinished(WebView view, String url) {
        }
    });

    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
    public static WebResourceResponse createEmptyResource() {
        return new WebResourceResponse("text/plain", "utf-8", new ByteArrayInputStream("".getBytes()));
    }

这是我用于此类功能的 WKWebkit 委托函数。但是这个函数不返回一个webresource,所以我这里不能返回一个空的html。

下面是示例代码。

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
        if let host = navigationAction.request.url?.host {
            decisionHandler(.allow)
            return
        }
        decisionHandler(.cancel)
    }

任何帮助表示赞赏。

谢谢。

标签: iosswiftwkwebview

解决方案


推荐阅读