添加WKWebView查看后调用addScriptMessageHandler

Call addScriptMessageHandler after adding WKWebView to view

我在我的 class 中添加了 WKWebView 以通过代码查看,它扩展了 UIViewController class,我可以从 iOS故事板按钮成功。

但是,我希望 JS 能够在 ajax post 请求完成时告诉 Swift...幸运的是我找到了这个页面... http://www.kinderas.com/technology/2014/6/15/wkwebview-and-javascript-in-ios-8-using-swift

var contentController = WKUserContentController()
contentController.addScriptMessageHandler(
    self,
    name: "callbackHandler"
)

var config = WKWebViewConfiguration()
config.userContentController = contentController

self.webView = WKWebView(
    frame: self.containerView.bounds,
    configuration: config
)

此处...我希望能够在将 webview 添加到 view 后添加脚本消息处理程序。

是否可以在 webview 添加到视图后调用 addScriptMessageHandler()

是的,而且也很简单:

let contentController = self.webView.configuration.userContentController
contentController.addScriptMessageHandler(self, name: "callbackHandler2")

回答我自己的问题;P

虽然@CodeDifferent 的回答很有效 :D

但是我们可以通过这样做使它变得更简单...

self.webView.configuration.userContentController.addScriptMessageHandler(
    self,
    name: "callbackHandler"
)

或更紧凑...

self.webView.configuration.userContentController.addScriptMessageHandler(self,name: "callbackHandler")

这是我用过的,效果很好:)