小程序通过web-view实现与h5页面之间的交互

在小程序端使用web-view内嵌网页,通过 src 携带参数,通过 @message 接收h5传回的数据

<template>
    <view>
        <web-view :src="activity.imgUrl?id=xxx" @message="postMessage"></web-view>
    </view>
</template>

在h5页面通过 wx.miniProgram.postMessage 可以向小程序传值

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script type="text/javascript">
    wx.miniProgram.postMessage({
        data: ‘foo‘
    })
</script>

但是在实际的开发中会发现,h5不能及时给小程序传值,查找官方文档发现:

网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。

可以人为触发来实现向小程序传值

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script type="text/javascript">
    wx.miniProgram.navigateBack({
        delta: 1
    })
    wx.miniProgram.postMessage({
        data: ‘foo‘
    })
</script>

我在开发的时候遇到一种情况,就是在小程序内嵌页面点击返回的时候,实际上只是关闭了内嵌页面,而当前页面并没有注销,针对这种情况做一下处理:

  在h5页面监听页面关闭

  在小程序手动关闭

<!-- 小程序跳转 -->
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    window.history.pushState(‘forward‘, null, ‘./#forward‘);
    if (window.history && window.history.pushState) {
        $(window).on(‘popstate‘, function() {
            <!-- 页面关闭了 -->
            wx.miniProgram.navigateBack({
                delta: 1
            })
            wx.miniProgram.postMessage({
                data: ‘foo‘
            })
        });
    }
})
</script>

h5监听页面关闭,然后在给小程序传值,小程序接收到值之后手动注销当前页面

原文地址:https://www.cnblogs.com/cap-rq/p/11603840.html

时间: 2024-10-07 18:57:17

小程序通过web-view实现与h5页面之间的交互的相关文章

5月20日重点:当请求的参数是动态的形式时,原生app与h5页面之间数据交互的方法

方案一: 1.app在打开H5页面的时候,把需要给的参数,以get的形式,放在H5的url中. 2.然后H5的js从url中获取到需要的参数,拼接到ajax请求的url中. 3.H5ajax请求,页面渲染. 方案二: 1.app方构建与H5交互的协议 2.H5写一个带参命名函数.在此方法内,填写数据获取后的操作代码. 并把函数名告知app方. 2.app方请求数据,然后以post方法,把请求到的全部数据传入已知的函数中,并调用此函数. 3.H5负责把接收到的数据,进行页面渲染. 注意:1.这个方

微信小程序的Web API接口设计及常见接口实现

微信小程序给我们提供了一个很好的开发平台,可以用于展现各种数据和实现丰富的功能,通过小程序的请求Web API 平台获取JSON数据后,可以在小程序界面上进行数据的动态展示.在数据的关键 一环中,我们设计和编写Web API平台是非常重要的,通过这个我们可以实现数据的集中控制和管理,本篇随笔介绍基于Asp.NET MVC的Web API接口层的设计和常见接口代码的展示,以便展示我们常规Web API接口层的接口代码设计.参数的处理等内容. 1.Web API整体性的架构设计 我们整体性的架构设计

说说 PWA 和微信小程序--Progressive Web App

作者:云图图链接:https://zhuanlan.zhihu.com/p/22578965来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 利益相关:微信小用户,谷歌小员工 微信发布了微信小程序,虽然还在内测阶段,但是无论从技术上,还是以后要不要开发原生应用(native app)上引发了不少讨论.其实看到微信小程序的消息, 我第一时间想到的是 Google 之前推出的PWA(Progressive Web App),两者的目的是类似的(伪原生应用),但是形式却又

张小龙的野心:用小程序重构web|小程序好处及可能的不足

一:张小龙的野心:用小程序重构web 一 很多年以前,张小龙写了一款软件:Foxmail. 这款软件当年有数百万用户,这是一个相当庞大的量,因为彼时网民也只有千万当量级的规模. 我是一个非常忠实的用户,因为直至今天,我还在使用Foxmail. 但有理由相信,当年使用客户端(软件)收发邮件的用户,越来越多的,已经改变为用web来收发邮件. 打开一个网址,输入用户名和密码,看邮件发邮件,我相信是PC互联网时代中后期大多数用户的习惯. Foxmail这样的软件,最终被web服务击败. 二 移动互联网时

微信‘小程序’: web前端的春天 or 噩梦?

最近大家看到这张图是不是都快吐了?这两天一睁眼就被这张图刷屏了 喵了咪的,点到哪里都是这个报道和新闻 最近因为工作 和生活略忙,爱吹文章的我,更新频率也低了,在这里抱个歉,希望大家理解和包容,希望"粉丝们"(装逼完成.跑-.),不要离开我这么帅的人! 此文观点声明先: 只通过技术角度分析讨论 [小程序]对程序员.web前端.后端人员技术路线的影响 不从产品角度 展望[小程序]以后的发展和方向– 这个都被媒体或专业市场分析人员分析烂了 「 微信应用号是什么?」 张小龙曾表示,用户关注一个

微信小程序、微信公众号、H5之间相互跳转

转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 图片有点小,我把文字打出来吧: 可关联已有的小程序或快速创建小程序.已关联的小程序可被使用在自定义菜单和模版消息等场景中. 公众号可关联同主体的10个小程序及不同主体的3个小程序.同一个小程序可关联最多50个公众号. 1.公众号跳小程序 比如说 "丰巢快递柜" 公众号关联的小程序:丰巢寄快递. 2.小程序跳公众号 打开"丰巢寄快递",点击右上角的菜单选项,然后点击"关于

[转]微信小程序、微信公众号、H5之间相互跳转

本文转自:https://www.cnblogs.com/colorful-paopao1/p/8608609.html 转自慕课网 一.小程序和公众号 答案是:可以相互关联. 在微信公众号里可以添加小程序. 图片有点小,我把文字打出来吧: 可关联已有的小程序或快速创建小程序.已关联的小程序可被使用在自定义菜单和模版消息等场景中. 公众号可关联同主体的10个小程序及不同主体的3个小程序.同一个小程序可关联最多50个公众号. 1.公众号跳小程序 比如说 “丰巢快递柜” 公众号关联的小程序:丰巢寄快

跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日

https://mp.weixin.qq.com/s/z5qm-2bHk_BCJAwaodrMIg 跨界!Omi 发布多端统一框架 Omip 打通小程序与 Web 腾讯开源 2月28日 原文地址:https://www.cnblogs.com/yuanjiangw/p/10774063.html

好程序员web前端分享HTML5与HTML之间有什么区别?

好程序员web前端分享HTML5与HTML之间有什么区别?很多没有学过HTML5大前端的同学,对HTML5并不了解,经常会提出疑问:HTML5与传统HTML有什么区别?今天,就为大家讲一下两者比较明显几个区别.首先,HTML5已经远远超越了标记语言的范畴,它的设计目的是在移动设备上支持多媒体,和HTML比起来,深度和广度上都做了进一步提升. 接着,我们来看一下两者的声明文件类型: HTML:1.<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN"