iOS Swift 5:如何在WKWebView中执行一个js文件?
iOS Swift 5: How to execute a js file in a WKWebView?
如何在 WKWebView 中执行 script.js?我知道 webView.evaluateJavaScript
但我不知道如何评估我的 script.js 文件,我已经尝试了其他用户在 Whosebug 上找到的一些解决方案,但没有任何效果,有人可以帮我解决这个问题吗?我快疯了:(
这是我试过的:
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript("script.js", completionHandler: nil)
}
如果您只是想 运行 一些 javascript 但实际上并不想将其连接到 HTML 文档,那么您应该使用 JavaScriptCore而不是 WKWebview。
import JavaScriptCore
let context = JSContext()
guard let path = Bundle.main.path(forResource: "script", ofType: "js"),
let script = try? String(contentsOfFile: path, encoding: .utf8) else {
fatalError("cannot load script")
}
let jsResult = context?.evaluateScript(script)
print(jsResult)
如何在 WKWebView 中执行 script.js?我知道 webView.evaluateJavaScript
但我不知道如何评估我的 script.js 文件,我已经尝试了其他用户在 Whosebug 上找到的一些解决方案,但没有任何效果,有人可以帮我解决这个问题吗?我快疯了:(
这是我试过的:
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript("script.js", completionHandler: nil)
}
如果您只是想 运行 一些 javascript 但实际上并不想将其连接到 HTML 文档,那么您应该使用 JavaScriptCore而不是 WKWebview。
import JavaScriptCore
let context = JSContext()
guard let path = Bundle.main.path(forResource: "script", ofType: "js"),
let script = try? String(contentsOfFile: path, encoding: .utf8) else {
fatalError("cannot load script")
}
let jsResult = context?.evaluateScript(script)
print(jsResult)