添加WKWebView进行查看后调用addScriptMessageHandler

时间:2016-06-30 11:47:57

标签: ios swift swift2 wkwebview

我添加了WKWebView来查看我的类中扩展UIViewController类的代码,我能够成功地从iOS故事板按钮调用JS函数。

但是,我希望JS能够在Swift ajax请求完成时告诉post ...幸运的是我找到了这个页面...... 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()

2 个答案:

答案 0 :(得分:9)

是的,它也很简单:

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

答案 1 :(得分:0)

回答我自己的问题; P

虽然@ CodeDifferent的答案有效:D

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

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

或更紧凑...

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

这就是我使用的,就像魅力一样:)