【Vue2+微信小程序】在微信小程序中嵌入webview并获取onMessage

news/2024/10/30 11:32:34/

前言

实现在微信小程序中嵌入一个webview页面,并且在这个webview中进行操作后,能返回某些信息给到小程序中继续处理。

使用:vue2+小程序原生开发。

正文

关于如何使用微信小程序访问外部链接,这篇文章说得很详细了。
主要就是同域名下

微信小程序

新建嵌入webview的中间页

<web-viewsrc="url地址"bindmessage="onMessage"
></web-view>js
Page({onMessage(e) {console.log(e.detail.data);
//e.detail.data就是vue里传来的参数,后续进行处理即可}
});

vue2

  1. index.html中引入sdk。
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
  1. 操作页
<script>
export default {data() {return {isMini: false,};},mounted() {this.isMiniProgramEnv();},methods: {//判断环境是否为小程序isMiniProgramEnv() {// 通过navigator.userAgent 判断let userAgent = navigator.userAgent;this.isMini = /miniProgram/i.test(userAgent);},wxlogin() {setTimeout(() => {wx.miniProgram.navigateBack();wx.miniProgram.postMessage({ data: "获取成功" });}, 2000);},},
};
</script>

注意:

  • postMessage() 里,数据要放在 data 对象里。
  • 注意触发的时机,只有 **后退、组件销毁、分享 的时候,**才会触发 web-view 的message事件。
    • 所以小程序会回退到前一页。再接收到传值。
  • 要在setTimeout中执行,为了确保能执行到。
  • 如果真机或者调试有问题,可以试试狠狠清理缓存,这个在微信小程序访问外部链接参考3两篇文章中有提到。

参考

  1. 微信小程序 webview 与 h5 通过 postMessage 实现实时通讯的实现:介绍了使用回退、销毁组件以实现通信的方式,比较详细。不过我没试。这个需求场景可能后续会用到吧:使用h5端生成canvas嵌入到小程序中使用(说是在小程序里画太麻烦了)【实际上也算不上实时吧?】
  2. 微信小程序webview postMessage使用:案例简单,但是除了回退之外,按照他的写法跳转和销毁我试了下都不行。不知道哪里有问题。下次试试。
  3. 微信小程序web-view与H5交互:判断H5是否在小程序环境:罗列了三种方法,我使用了推荐的那种。

补充

微信小程序与web-view页面双向通信 小程序传过去的方式就是src中带参数,感觉也不太方便?暂时没有用到。


http://www.ppmy.cn/news/213039.html

相关文章

G1.sniper Z97主板不能进入BIOS

G1.sniper Z97主板不能进入BIOS #1 故障描述 2015年主机 CPU i7 4790K 内存8G 显卡内置 网卡内置 。昨日&#xff0c;休眠后&#xff0c;无法启动。出现无法进入BIOS的故障。错误码A6 #1 解决方案 重新刷新 BIOS。操作方法&#xff1a;取出CMOS电池&#xff0c;短接正负极超过3…

解决Z97主板无法支持xp系统的问题

众所周知&#xff0c;z97主板不再支持xp系统&#xff0c;然而有时候又不得不用&#xff0c;总结了下步骤。 1.进主板bios设置关闭核显,让它使用独立显卡. 2.硬盘模式设置为IDE 3.关机,插独立显卡,进XP系统 返回其他系统步骤. 1.进主板bios设置开启核显,硬盘模式设置为Ahci …

Z97主板能装服务器系统,z97主板最高配什么cpu

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 Z97主板将兼容Haswell、Haswell-R和Broadwell三系列处理器&#xff0c;在升级时不用担心再换主板了。 电脑机箱主板&#xff0c;又叫主机板(mainboard)、系统板(systemboard)或母板…

怎样查看主板支持服务器内存,怎么看主板支持内存频率?看主板支持内存频率方法...

CPU主板包括运算逻辑部件、寄存器 部件和控制部件等。接下来是小编为大家收集的看主板支持内存频率方法&#xff0c;希望能帮到大家。 看主板支持内存频率方法 内存是计算机中重要的部件之一&#xff0c;它是与CPU进行沟通的桥梁&#xff0c;是决定着电脑性能很关键的因素之一。…

华硕z97不识别m2固态_安全解决方案:华硕Z97-A主板无法识别Intel M.2 NVME SSD的解决方案...

硬件信息描述 主板:ASUS Z97-A 固态硬盘:英特尔(Intel)760P系列256G NVMe M.2 2280接口SSD固态硬盘 BIOS:该版本于2015年发布,单击以下载最新的BIOS固件Z97-A-ASUS-3503.zip(测试版本,请仔细更新)(ASUS官方网站) 系统:Windows10版 硬盘优化工具:单击下载Intel?固态驱动…

rtl8111gr服务器系统,6款主板板载网卡对比

6款主板板载网卡对比&#xff1a; 华硕 Z97-Deluxe没有采用常见的Killer网卡&#xff0c;而是采用了双Intel网卡设计&#xff0c;型号分别为i211AT和i217V&#xff0c;前者主要常见于服务器主板&#xff0c;而后者相信大家都不陌生&#xff0c;7、8系列主板很多都采用了这款芯片…

华硕z97不识别m2固态_华硕Z97-A主板无法识别Intel M.2 NVME SSD的解决方案

硬件信息描述 主板:ASUS Z97-A 固态硬盘:英特尔(Intel)760P系列256G NVMe M.2 2280接口SSD固态硬盘 BIOS:该版本于2015年发布,单击以下载最新的BIOS固件Z97-A-ASUS-3503.zip(测试版本,请谨慎更新)(ASUS官方网站) 系统:Windows10版 硬盘优化工具:单击下载英特尔SSD工具箱…

华硕主板Z97-A无法识别intel M.2 NVME固态硬盘的解决方案

硬件信息说明 主板:华硕Z97-A固态硬盘:英特尔(Intel)760P系列 256G NVMe M.2 2280接口 SSD固态硬盘BIOS:2015年发布的版本,点击下载最新的BIOS固件Z97-A-ASUS-3503.zip(测试版本,慎重更新)(华硕官网)系统:Windows10专业版硬盘优化工具:点击下载英特尔固态硬盘工具箱…