【问题标题】:How to load URL on WKWebView?如何在 WKWebView 上加载 URL?
【发布时间】:2018-04-03 11:28:59
【问题描述】:

我正在尝试在 WKWebView 上加载包含 CSV 文件的 URL。

当我尝试正常加载时,它给了我一个错误:'不支持文件格式/它可能已损坏'。

即使是移动 Safari 也会给我同样的错误。

然后我尝试使用 MIME 类型和 WKWebView 的以下方法:

   try! Data(ContentsOf: bulkUrl)

   webView.load(data, mimeType: "text/csv", characterEncodingName: "", baseURL: bulkUrl)

它可以工作,但给我纯文本。

我用 UIWebView 尝试了同样的方法,它以正确的格式打开 CSV 文件。

我不明白为什么 WKWebView 无法打开同一个文件。有什么想法吗?

提前致谢

【问题讨论】:

  • 你的网址是什么?
  • @Vyacheslav 由于安全原因,无法共享 URL。但是当我尝试使用 gist.github.com 创建 URL 时,URL 正在 WKWebview 上打开,正常加载 URLRequest。
  • 但 MIME 类型无法正常工作,它提供纯文本。找到解决方案后,我会通知您。

标签: ios swift uiwebview wkwebview


【解决方案1】:

首先你需要导入

import WebKit

以下代码足以用 WKWebView 打开 URL

let webView = WKWebView(frame: <#AnyRect#>)
let link = URL(string:"https://developer.apple.com/videos/play/wwdc2019/239/")!
let request = URLRequest(url: link)
webView.load(request)

【讨论】:

    【解决方案2】:

    使用 -

    webView.load(URLRequest(url: URL(string: "https://www.google.com/")!))
    

    【讨论】:

      【解决方案3】:

      对于 Objective-c

      1. 转到目标 -> 框架、库和嵌入内容
      2. 添加框架“WebKit.framework”
      3. 打开文件并添加 #import

      在要加载 WKWebView 的函数中实现代码

      WKWebView *webView = [[WKWebView alloc] init];
      webView.frame = self.view.bounds;
      [self.view addSubview:webView];
      NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.apple.com"]];
      [webView loadRequest:request];
      

      【讨论】:

        【解决方案4】:

        首先,导入

        import WebKit 
        

        创建 WKWebView 的 Outlet

         @IBOutlet var webload: WKWebView!
        

        并且,将下面的代码放入您的 viewDidLoad() 方法以及您想要的自定义函数等中的任何位置。

         let web_url = URL(string:"https://stackoverflow.com/users/6824665/dhaval-gevariya")!
         let web_request = URLRequest(url: web_url)
         webload.load(web_request)
        

        【讨论】:

          【解决方案5】:

          选择 Target -> General -> Linked Framework and Libraries -> 点击 + 符号 -> 搜索 webKit.framwork -> 添加

          import WebKit
          webView.load(URLRequest(url: URL(string: "https://apple.com")!))
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2020-11-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-05-11
            • 1970-01-01
            相关资源
            最近更新 更多