Как прочитать сообщение, отправленное родительскому элементу с помощью WKScriptMessageHandler? - PullRequest
0 голосов
/ 20 марта 2020

Я загружаю URL-адрес в WKWebView, который отправляет сообщение в родительский элемент:

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 в строковую переменную

1 Ответ

0 голосов
/ 20 марта 2020

Сначала сообщение должно быть передано в виде словаря

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 ?? "")
...