0
我有一个WKWebView加载一个页面。在这个页面中有一个按钮调用一个javascript函数。我想要这个javascript函数发送一些字符串数据到我的应用程序。Web页面和IOS应用程序之间的Javascript界面不起作用。为什么我的应用程序无法收到消息?
这是我的银行代码是如何构建的:
import UIKit
import SnapKit
import WebKit
class TestVC: UIViewController,WKScriptMessageHandler {
let defaults = NSUserDefaults.standardUserDefaults()
override func viewDidLoad() {
super.viewDidLoad()
//Cookies
let cookie = "document.cookie = '.ASPXAUTH=\(defaults.stringForKey("authKey")!)';"
let requestUrl = NSMutableURLRequest(URL: NSURL(string: "\(MyConstants.WEBURL)")!)
requestUrl.addValue(".ASPXAUTH=\(defaults.stringForKey("authKey")!)", forHTTPHeaderField: "Cookie")
//Settings
let webViewConfiguration = WKWebViewConfiguration()
let userContentController = WKUserContentController()
userContentController.addScriptMessageHandler(self, name: "callbackHandler")
webViewConfiguration.userContentController = userContentController
//UI
let webView = WKWebView(frame: CGRectZero, configuration: webViewConfiguration)
view.addSubview(webView)
webView.snp_makeConstraints { (make) in
make.edges.equalTo(self.view.snp_edges)
}
webView.loadRequest(requestUrl)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func userContentController(userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) {
print("got message")
}
}
这是我的javascript:
window.webkit.messageHandlers.callbackHandler.postMessage(json);
但是,当调用脚本时,没有什么是印在IOS侧。我在这里错过了什么吗?