didReceiveScriptMessage不适用于iOS8 WKWebView

时间:2014-07-07 02:52:27

标签: ios8

我在webView中注入了这样的Js:decisionPolicyForNavigationResponse: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。

我没有收到消息日志时收到了这个错误的消息。

alert本机上下文尚不存在TypeError:null不是对象(评估'window.webkit.messageHandlers')

是个bug吗?现在有什么解决方案吗?

0 个答案:

没有答案