H5网页自身是不可以调用快应用标准的API的,只有快应用是可以使用的,能不能把快应用获取到的信息传给网页呢?快应用框架提供了web双向通信的机制,网页可以向快应用发送xx请求,快应用收到xx请求后,处理请求,将处理后的数据发给网页。
使用快应用侧 快应用侧可以主动给网页发消息,也可以监听网页发来的消息。 1 | this .$element( 'web' ).postMessage(senddata); |
123456789101112 | <web class= "web-page" src= "{{webUrl}}" trustedurl= "{{list}}" onpagestart= "onPageStart" useragent= "default" onmessage= "onMessage" fullscreendirection= "{{fullscreenDirection}}" jumppolicy= "{{linkJumpPolicy}}" multiwindow= "{{openMultiwindow}}" onpagefinish= "onPageFinish" ontitlereceive= "onTitleReceive" onerror= "onError" id= "web" allowthirdpartycookies= "{{allowThirdPartyCookies}}" > </web> |
响应事件的句柄onMessage代码如下: 12345678 | onMessage(e) { console.info( 'onmessage e = ' + e.message + ", url = " + e.url); var msg=e.message; if (msg=== 'xxx' ){ } }, |
H5网页侧1 | system.postMessage( "xxx" ); |
1234 | system.onmessage = function (data) { console.info( "onmessage data=" +data); } |
注意:以上代码添加在html文件中的head标签下的script中。
可以参考这个帖子:https://developer.huawei.com/consumer/cn/forum/topic/0204405003333750226?fid=18
|