wkwebview 监听打印consolelog object-c
要在WKWebView中监听并打印console.log消息,你需要实现WKScriptMessageHandler协议。以下是一个示例实现:
- 在你的ViewController中,添加WKScriptMessageHandler协议:
class ViewController: UIViewController, WKScriptMessageHandler {
// ...
}
- 在你的ViewController中,创建一个WKWebView实例,并将其配置为使用你实现的WKScriptMessageHandler:
let configuration = WKWebViewConfiguration()
let userContentController = WKUserContentController()
userContentController.add(self, name: "consoleLog")
configuration.userContentController = userContentController
let webView = WKWebView(frame: view.bounds, configuration: configuration)
view.addSubview(webView)
- 实现WKScriptMessageHandler协议的方法,以处理来自WebView中console.log的消息:
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
if message.name == "consoleLog", let logString = message.body as? String {
print("Console.log: \(logString)")
}
}
- 在你的网页中,使用JavaScript代码来发送console.log消息给WKWebView:
console.log("Hello from JavaScript!")
当网页中发出console.log消息时,它将被传递到你的实现的userContentController(_:didReceive:)方法中,并在控制台中打印出来。
请注意,你还需要将WKWebView添加为ViewController的子视图,并加载你的网页。你可以使用load(_:)方法来加载网页
原文地址: https://www.cveoy.top/t/topic/iTnf 著作权归作者所有。请勿转载和采集!