Swift WkwebView не может использовать evaluateJavascript (), и сообщения о событиях не получены после отмененной навигацIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Swift WkwebView не может использовать evaluateJavascript (), и сообщения о событиях не получены после отмененной навигац

Сообщение Anonymous »

Я создаю приложение iOS V15.0 в Swift как обертка вокруг веб-приложения на основе React. Веб -приложение, вводит wkuserscript при загрузке:

Код: Выделить всё

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


Подробнее здесь: https://stackoverflow.com/questions/751 ... re-receive
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Фактальная ошибка при использовании evaluatejavascript на Wkwebview
    Anonymous » » в форуме IOS
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Другой навигатор уже зарегистрирован для этого контейнера. У вас, вероятно, есть несколько навигаторов под одним навигац
    Anonymous » » в форуме Javascript
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Повторное включение отмененной подписки до истечения срока ее действия
    Anonymous » » в форуме IOS
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Повторное включение отмененной подписки до истечения срока ее действия
    Anonymous » » в форуме IOS
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Android Webview EvaluateJavascript иногда не возвращает ответ
    Anonymous » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»