如何在 WKWebView 上加载 URL?

Posted

技术标签:

【中文标题】如何在 WKWebView 上加载 URL?【英文标题】:How to load URL on WKWebView? 【发布时间】: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 类型无法正常工作,它提供纯文本。找到解决方案后,我会通知您。 【参考方案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

    转到目标 -> 框架、库和嵌入内容 添加框架“WebKit.framework” 打开文件并添加 #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://***.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")!))

【讨论】:

以上是关于如何在 WKWebView 上加载 URL?的主要内容,如果未能解决你的问题,请参考以下文章

你如何允许 WKWebView 接受重定向 url

如何使用 WKWebview 从 iPad 的 Document 目录加载 javascript 和 css 资源?

获取 WKWebView 的当前完整 URL

如何使用 WKWebview 检查链接是不是损坏?

如何检测 amp 页面的 url 何时随 WKWebview 更改

如何清除 UIWebView/WKWebView 的内容?