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
}
Я внедрил фанкконтро -контроллер (_ usercontentcontroller: wkusercontentcontroller, DidReceive Сообщение: WKScriptMessage) Для обработки входных событий из веб -приложения. это: < /p>
let script: String = """
document.dispatchEvent(new CustomEvent("\(event.rawValue)", { detail: \(jsonDataString)}));
"""
// Evaluate the event dispatch in the WebView
self.evaluateJavaScript(script)
Все назначения делегирования выполнены, и приведенная выше реализация работает отлично
Я зарегистрировал свой основной домен в файле info.plist для Wkappbounddomains
Я создаю приложение iOS V15.0 в Swift как обертка вокруг веб-приложения на основе React. Веб -приложение, вводит wkuserscript при загрузке: [code]for webViewEventName in WKWebView.WebViewEvent.allCases { let eventName: String = webViewEventName.rawValue
source += eventListenerSource } [/code] Я внедрил фанкконтро -контроллер (_ usercontentcontroller: wkusercontentcontroller, DidReceive Сообщение: WKScriptMessage) Для обработки входных событий из веб -приложения. это: < /p> [code] let script: String = """ document.dispatchEvent(new CustomEvent("\(event.rawValue)", { detail: \(jsonDataString)})); """
// Evaluate the event dispatch in the WebView self.evaluateJavaScript(script) [/code] [list] [*] [b] Все назначения делегирования выполнены, и приведенная выше реализация работает отлично [/b] [*] [b] Я зарегистрировал свой основной домен в файле info.plist для Wkappbounddomains [/b] [/list]
WKWebView аварийно завершает работу при попытке оценить JavaScript в Xcode 14.1 с использованием Swift, протестировано на iOS, но такое же поведение должно быть и в macOS.
Я сделал значительно упрощенный пример, чтобы попытаться найти решение, и оно...
Проблема:
Другой навигатор уже зарегистрирован для этого контейнера. Скорее всего, у вас есть несколько навигаторов под одним «NavigationContainer» или «экран». Убедитесь, что каждый навигатор находится под отдельным контейнером «экрана». См. для...
В моем приложении есть одна группа подписки под названием «Премиум», которая содержит два продукта с разными периодами выставления счетов — ежемесячно и ежегодно. Все тесты проводятся в среде Apple Sandbox с пользователем песочницы.
В настоящее...
В моем приложении есть одна группа подписки под названием «Премиум», которая содержит два продукта с разными периодами выставления счетов — ежемесячно и ежегодно. Все тесты проводятся в среде Apple Sandbox с пользователем песочницы.
В настоящее...
Я пытался исправить это несколько недель и понятия не имел, что является причиной проблемы. В моем проекте я использую метод AssessmentJavascript() Android Webview следующим образом:
this.runOnUiThread(new Runnable() {
@Override
public void run()...