didReceiveScriptMessage НЕ работает в iOS8 WKWebView

#ios8

#ios8

Вопрос:

У меня есть такой Js, внедренный в WebView:decidePolicyForNavigationResponse:decisionHandler:

 function postMyMessage()
{
    try {
        window.webkit.messageHandlers.SimpleBrowser.postMessage('JS for qq.com called');
    } catch(err) {
        alert('The native context does not exist yet '   err);
    }
}

postMyMessage()
  

реализация делегата следующим образом

 - (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message
{
    NSLog(@"Message: %@", message.body);
}
  

Проблема в том, что этот журнал отображается только один раз, после этого он никогда не выходит, даже при загрузке другого WKWebView.

Я получил сообщение об ошибке, когда не получил журнал сообщений.

предупреждение о том, что собственный контекст еще не существует TypeError: null не является объектом (окно оценки ‘.webkit.MessageHandlers’)

Это ошибка? какое-либо решение сейчас?

Комментарии:

1. Я тоже испытываю это. Я дам вам знать, если моя отладка приведет к каким-либо результатам.

2. спасибо, я смотрю в журнале фиксации WebKit, возможно, beta5 исправит это

3. mail-archive.com/webkit-changes@lists. webkit.org/msg73383.html

4. iOS8 beta5 уже устраняет эту проблему

5. Я тоже сталкиваюсь с этим, моя текущая версия xcode: 6.1.1 и версия для iPad: 8.1. Как узнать бета-версию с моей текущей версией, как это решить?