添加WKWebView查看后调用addScriptMessageHandler

问题描述 投票:0回答:2

我在我的类中添加了

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()
吗?

ios swift swift2 wkwebview
2个回答
16
投票

是的,而且也很简单:

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

2
投票

回答我自己的问题;P

虽然@CodeDifferent的回答很不错:D

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

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

或更紧凑...

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

这就是我用过的,效果就像一个魅力:)

© www.soinside.com 2019 - 2024. All rights reserved.