gpt4 book ai didi

swift - WkWebView 不加载 pdf 链接

转载 作者:行者123 更新时间:2023-12-05 08:22:48 24 4
gpt4 key购买 nike

WKWebView 没有加载链接。我将用户链接到一个隐私政策页面,该页面有一组链接。这些链接都是由 wix 托管的 pdf。在 safari 和 Chrome 上它可以工作,但不能在 WKWebView 上工作。当页面加载并单击链接时,我只是收到一个错误:

Unknown result for URL 0x28157d110 (https)

这就是我加载 WebView 的方式...

webView.load(URLRequest(url: URL(string: "https://mywebsite.io/legal")!))

编辑:这是 different from other questions因为我无意下载 pdf - 我只是想以与 Safari 相同的方式显示它。

编辑:我刚刚将 WKWebView 替换为 UIWebView(已弃用)和 pdfs 加载。问题出在 WKWebView 上。 Pdfs 是支持 ssl 的 https ->

let req = URLRequest(url: URL(string: "https://mywebsite.io/legal")!)
legacyWebView.loadRequest(req)

编辑:这里有一个页面 How to open a Link to a PDF with wkwebview这表明您在打开 pdf 之前必须知道链接 URL,但我认为这不是真的。

编辑:我实现了 2 个委托(delegate)方法,包括下面@Kiril 建议的方法。 pdf 链接仍然打不开。

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
decisionHandler(WKNavigationActionPolicy.allow)
}
func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Void) {
decisionHandler(WKNavigationResponsePolicy.allow)
}

最佳答案

您可以检查一些事项:

  1. 验证 <a href链接不包含 target="_blank"属性,因为 WKWebView 不知道如何在新选项卡中打开链接。见 https://stackoverflow.com/a/25853806/810466了解如何解决这个问题。

  2. 检查链接是否为 HTTPS 或更新 App Transport Security SettingsAllow Arbitrary Loads选项

  3. 确保只有在将 WKWebView 添加到 didMoveToParentViewController: 中的 View 层次结构后才开始加载请求因为如果它试图在 View 层次结构之外运行,它可能会使 javascript 失败

  4. 实现 WKWebView NavigationDelegate 方法并确保返回 WKNavigationActionPolicyAllow在决定请求的策略时

关于swift - WkWebView 不加载 pdf 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58345731/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com