如何在 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 从 iPad 的 Document 目录加载 javascript 和 css 资源?