添加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")
这是我用过的,效果很好:)
我在我的 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")
这是我用过的,效果很好:)