在WKWebView中,我们可以使用webkit消息处理程序调用ObjectiveC /
swift代码
例如:webkit.messageHandlers.< handler> .pushMessage(message)
例如:webkit.messageHandlers.< handler> .pushMessage(message)
它适用于没有参数的简单的JavaScript函数.但;
解决方法
不幸的是,我找不到本地解决方案.
使用JavaScript承诺&您可以从iOS代码中调用resolve功能.
UPDATE
这是你如何使用承诺
在JS中
this.id = 1; this.handlers = {}; window.onMessageReceive = (handle,error,data) => { if (error){ this.handlers[handle].resolve(data); }else{ this.handlers[handle].reject(data); } delete this.handlers[handle]; }; } sendMessage(data) { return new Promise((resolve,reject) => { const handle = 'm'+ this.id++; this.handlers[handle] = { resolve,reject}; window.webkit.messageHandlers.<yourHandler>.postMessage({data: data,id: handle}); }); }
在iOS中
原文地址:https://www.jb51.cc/js/150158.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。