【发布时间】:2018-08-16 16:08:12
【问题描述】:
我正在使用WKWebView 在我的 Xcode 项目中渲染一个本地 index.html 文件。问题是,文件中的 html 和 css 代码已成功显示在 webView 中,但是 javaScript 但是根本没有呈现。
我在stackoverflow上搜索了关于这个问题的类似问题,我想出的是Apple不会在本地html文件中执行js,为了执行js,我需要使用本地网络服务器GCDWebServer .
老实说,我对漏洞 webServer 概念并不陌生,我发现很难弄清楚如何在本地 webServer 中运行 html 以及如何使用 GCDWebServer 来实现这一点。
在 WKWebView 内的本地服务器上运行我的 index.html 文件的简单方法是什么以及如何做到这一点
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
let resourceUrl = Bundle.main.url(forResource: "index", withExtension: "html")
let urlRequest = URLRequest.init(url: resourceUrl!)
webView.load(urlRequest)
webView.allowsBackForwardNavigationGestures = true
}
【问题讨论】:
-
您可能想看看WKUserContentController 和WKUserScript。我使用这些在网页中注入 Javascript,但您需要将 js 代码与 html 分离并从包中加载。
-
不是通过
<script src="file.js"></script>?
标签: ios swift wkwebview gcdwebserver