我在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吗?现在有什么解决方案吗?