我在我的类中添加了
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()
吗?
是的,而且也很简单:
let contentController = self.webView.configuration.userContentController
contentController.add(self, name: "callbackHandler2")
回答我自己的问题;P
虽然@CodeDifferent的回答很不错:D
但是我们可以通过这样做让它变得更简单......
self.webView.configuration.userContentController.addScriptMessageHandler(
self,
name: "callbackHandler"
)
或更紧凑...
self.webView.configuration.userContentController.addScriptMessageHandler(self,name: "callbackHandler")
这就是我用过的,效果就像一个魅力:)