【问题标题】:How to read a postmessage sent to a parent element using WKScriptMessageHandler?如何使用 WKScriptMessageHandler 读取发送到父元素的 postmessage?
【发布时间】:2020-03-20 18:29:51
【问题描述】:

我正在 WKWebView 中加载一个向父元素发送 postmessage 的 URL:

window.parent.test.postMessage('A message')

我正在实现 WKScriptMessageHandler 并尝试使用 userController(didReceiveMessage) 获取该消息:

func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
    if(message.name == "test") {
        print("JavaScript is sending a message \(message.body)")

    }
}

message.body 有点像

{
   command = "015.1";
}

我想把这个值 015.1 读入一个字符串变量

【问题讨论】:

    标签: javascript swift wkwebview


    【解决方案1】:

    首先应该将消息作为字典传递

    window.parent.test.postMessage({"command":id})
    
    func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
            print("chegou mensagem do javascript ")
            print(message.body)
            print(message.name)
            let dict = message.body as? NSDictionary;
            let str = dict?["command"] as? String
            print(str ?? "")
    

    【讨论】:

      猜你喜欢
      • 2010-10-07
      • 2013-11-22
      • 1970-01-01
      • 2012-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-14
      • 1970-01-01
      相关资源
      最近更新 更多