首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在WKWebView中将数据从Javascript传递到Swift?

如何在WKWebView中将数据从Javascript传递到Swift?
EN

Stack Overflow用户
提问于 2016-02-23 10:10:49
回答 1查看 4.2K关注 0票数 9

我正在尝试将数据从我的网站Javascript传递到我的应用程序,用Swift编写。

Javascript:

代码语言:javascript
复制
var messgeToPost = {
     "username": "testing123"
};
window.webkit.messageHandlers.loginSuccess.postMessage(messgeToPost);

Swift:

代码语言:javascript
复制
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)从未被调用过。

我在这里错过了什么?

EN

回答 1

Stack Overflow用户

发布于 2016-03-07 23:45:30

代码语言:javascript
复制
var messgeToPost = {
     "username": "testing123",
     "password": "password"
};

忘记添加密码

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35574539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档