Для простого объяснения вы можете проверить эту статью:
https://medium.com/@hoishing / using- javascript -with-wkwebview-64f94153ad0
Если хотите более глубокое объяснение, вы можете проверить эту другую статью:
https://dev.to/gualtierofr/wkwebview-and-javascript-interaction-1pbl
В обоих упоминается, как Запуск Javascript Функции из Swift И Получение Javascript Сообщения
В любом случае, если вы выполните эту функцию в JavaScript:
window.webkit.messageHandlers.postMessageListener.postMessage(JSON.stringify({data}))
Вы должны прослушивать в Swift имя postMessageListener
таким образом:
Настройка WKWebView
let preferences = WKPreferences()
preferences.javaScriptEnabled = true
let configuration = WKWebViewConfiguration()
configuration.preferences = preferences
// Here I am guessing that the Frame of the WebView is the entire Screen
let webView = WKWebView(frame: view.frame, configuration: configuration)
configuration.userContentController.add(self, name: "postMessageListener")
Соответствие протоколу WKScriptMessageHandler
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
if message.name == "postMessageListener" {
// Manage your Data
}
}