我正在wkwebview中加载一个用于登录的URL。成功登录后,它会将其重定向到内页,当点击按钮时,它将重定向到另一个生成令牌的页面。生成令牌后如何将其推送到快速应用程序。我需要在我的应用程序中使用该令牌以进一步使用。不知道这是一个重复的问题,但在过去的两天里,我找不到任何解决方案。请帮助提供完整的解决方案
这是我的代码
override func loadView()
{
super.loadView()
let url = URL(string: "urlString")
let request = URLRequest(url:url!)
let config = WKWebViewConfiguration()
self.webView = WKWebView(frame: self.view.bounds, configuration: config)
webView?.load(request)
self.view.addSubview(webView!)
}
如何进一步获取令牌
答案 0 :(得分:1)
在配置
中的用户内容控制器中添加消息名称config.userContentController.add(self, name: "setToken")
在视图控制器中添加以下扩展名
extension ViewController: WKScriptMessageHandler {
func userContentController(_ userContentController: WKUserContentController,
didReceive message: WKScriptMessage) {
if (message.name == "setToken"){
if let token = message.body as? String{
print(token)
}
}
print("Received message from native: \(message)")
}
}
从js
传递您的令牌window.webkit.messageHandlers.setToken.postMessage(TOKEN_STRING);