Код: Выделить всё
for webViewEventName in WKWebView.WebViewEvent.allCases {
let eventName: String = webViewEventName.rawValue
let eventListenerSource: String =
"""
document.addEventListener("\(eventName)", (e) => {
const eventData = e.detail || null;
window.webkit.messageHandlers.\(eventName).postMessage(eventData);
});
"""
source += eventListenerSource
}
Код: Выделить всё
let script: String = """
document.dispatchEvent(new CustomEvent("\(event.rawValue)", { detail: \(jsonDataString)}));
"""
// Evaluate the event dispatch in the WebView
self.evaluateJavaScript(script)
- Все назначения делегирования выполнены, и приведенная выше реализация работает отлично
- Я зарегистрировал свой основной домен в файле info.plist для Wkappbounddomains
Подробнее здесь: https://stackoverflow.com/questions/751 ... re-receive
Мобильная версия