7
我試圖從我的網站JavaScript傳遞數據到我的應用程序,用Swift編寫。如何將數據從Javascript傳遞到WKWebView中的Swift?
的Javascript:
var messgeToPost = {
"username": "testing123"
};
window.webkit.messageHandlers.loginSuccess.postMessage(messgeToPost);
斯威夫特:
var webConfig:WKWebViewConfiguration {
get {
var webCfg:WKWebViewConfiguration = WKWebViewConfiguration()
var userController:WKUserContentController = WKUserContentController()
userController.addScriptMessageHandler(self, name: "loginSuccess")
webCfg.userContentController = userController;
return webCfg;
}
}
override func viewDidLoad() {
var userController:WKUserContentController = WKUserContentController()
userController.addScriptMessageHandler(self, name: "loginSuccess")
webView = WKWebView(frame: self.view.frame,
configuration: webConfig)
webView.loadRequest(NSURLRequest(URL: NSURL(string: URLPath)!))
}
func userContentController(userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) {
if let messageBody:NSDictionary = message.body as? NSDictionary {
let password:String = messageBody["password"] as! String
print(password)
}
}
不幸的是,print(password)
不會被調用。
我在這裏錯過了什麼?
沒有'的'messgeToPost'對象password'屬性。 – soflare