微信小程序和H5之间互相跳转、互相传值

  微信小程序和内嵌 H5 之间来回跳转,来回交互。

1 微信小程序跳转 H5

1.2. web-view

  微信小程序官方提供了 web-view 组件来实现微信小程序跳转到 H5 页面,实现的方式也很简单,具体实现方式如下:
1、新建一个页面用来单独存放 web-view 组件,并且所有的内嵌 H5 都可以通过这个页面来实现跳转;
(1)myWeb.wxml

<web-view src="{{webUrl}}" bindmessage="bindMessages"></web-view>

(2)myWeb.js

const spConstant = require('../../public/js/spConstant');
const app = getApp()
Page({/*** 页面的初始数据*/data: {webUrl: ''},onLoad(options) {var that = thisif (options.params == '您没有进入系统权限!') {app.data.isRelogin = truewx.showToast({title: '您没有进入系统权限!',icon: 'none'})setTimeout(function () {wx.switchTab({url: `../home/home`,})}, 1000)} else if (options.params == '登录失效') {app.data.isRelogin = truewx.showToast({title: '登录失效',icon: 'none'})setTimeout(function () {wx.switchTab({url: `../home/home`,})}, 1000)} else {var webUrl = options.webUrlthat.setData({webUrl: webUrl + "?applet=true&token=" +wx.getStorageSync(spConstant.SP_TOKEN) + "&userId=" +  wx.getStorageSync(spConstant.SP_USER_ID)//webUrl: " http://120.224.9.76:18080/app/html/activity-add.html?applet=true"});}},/*** 接收参数,也可以跳转到小程序其他页面将参数传递过去*/postMessage(e) {console.log("ewferferg==", e)app.data.isRelogin = truewx.navigateBack({delta: 10})},bindMessages: function (e) {console.log("bindMessages:==", e)this.shareData = e.detail.data[e.detail.data.length - 1]},
})

1.2. H5跳微信小程序

  H5 往微信小程序跳转需要借助微信 JS-SDK (官方文档),官方提供的是引入 js 文件的方式来使用微信 JS-SDK;当然在 vue 的项目里我们还可以以依赖的方式来安装:weixin-js-sdk;

1.2.1. 内嵌H5跳转到微信小程序

  这种不需要配置,直接就可以通过微信 sdk 提供的方法来实现跳转;注意:只能跳转回当前小程序;

wx.miniProgram.navigateTo({url:''})
wx.miniProgram.navigateBack({url:''})
wx.miniProgram.switchTab({url:''})
wx.miniProgram.reLaunch({url:''})
wx.miniProgram.redirectTo({url:''})

1.3. 微信小程序传值给内嵌H5

  小程序直接通过修改 web-view 的 src 属性就行了,将需要传递的参数拼接在路径上,H5 页面之间通过 query 来拿参数;

//其他小程序页面
let url = 'xxxx?name=xxx&number=123';
uni.navigateTo({url: `/pages/webview/webview?url=${url}`
})

1.4. 内嵌H5传值给微信小程序

  以下两种方式都需要在 H5 的 index.html 页面引入下面 js:

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>

1.4.1. 用 postMessage

  在 web-view 组件上有一个属性 bindmessage ,网页向小程序 postMessage 时会触发并接收消息;

//web-view
<web-view :src="url" @message="getMessage"></web-view>
export default{data(){return{url:''}},onLoad(option){this.url = option.url}methods:{getMessage(e){//接收参数,也可以跳转到小程序其他页面将参数传递过去console.log(e.detail)}}
}
//H5页面
wx.miniProgram.postMessage({ data: {name: 'xxx'} })

1.4.2. 路径传参

  调用微信 wx.miniProgram API 跳转到小程序页面时,通过路径拼接把参数传递过去;

wx.miniProgram.navigateTo({url:"/pages/xxx/xxx/xxx?name=xxx"
});

在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/2dcc9c8a93d94e8b8762f3e50881ade4.png
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/138298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSL证书申请安全审核失败?

随着HTTPS普及&#xff0c;申请安装使用SSL证书成为了我们的必备项。但这个SSL证书申请过程中&#xff0c;遇到问题也是不少。今天我们来浅了解一下SSL证书为什么会出现安全审核失败&#xff1f; SSL证书申请会出现安全审核失败的情况可能是以下原因&#xff1a; 域名验证不通…

安卓常见设计模式14------单例模式(Kotlin版)

1. W1 是什么&#xff0c;什么是单例模式&#xff1f;​ 单例模式属于创建型模式&#xff0c;旨在确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取该实例。单例模式的核心思想是限制类的实例化&#xff0c;使得系统中只有一个共享的实例。 2. W2 为什么&#…

华为防火墙二层透明模式下双机热备主备备份配置(两端为交换机)

这种模式只能是主备备份模式&#xff0c;不能是负载分担&#xff0c;因为会有环路。 故障切换是&#xff0c;如果主故障&#xff0c;主设备所有接口全都会down状态&#xff0c;然后再up一次&#xff0c;用于改变mac转发表。 FW1 hrp enable hrp interface GigabitEthernet1/0…

国际上有影响的10位城市设计师 优漫教育

这是以一篇网络文章为主并综合一些资料整理的“国际上有影响的10位城市设计师”。这10位城市设计师生活的时间跨度非常大&#xff0c;他们中间除了雅各布斯以外&#xff0c;都是建筑师、城市规划师或景观设计师&#xff0c;或有相关的教育背景&#xff0c;从一个侧面反映了城市…

【数据结构】——栈、队列简答题模板

目录 一、栈&#xff08;一&#xff09;栈的基本概念&#xff08;二&#xff09;栈的应用&#xff08;三&#xff09;栈的代码实现&#xff08;四&#xff09;递归算法&#xff08;五&#xff09;栈与队列的区别 二、队列&#xff08;一&#xff09;队列的基本概念&#xff08;…

前端各种资源集合

文章目录 前端资料集&#x1f44d;在线工具字体图标SVG|PNG|ICO素材压缩工具特效素材插画素材检查测试 前端资料集 &#x1f44d;在线工具 CSS3贝塞尔曲线动画生成CSS Gradient渐变色生成SVG在线制作工具一个轻量级在线编辑器在线生成雪碧图在线JSON查看removebg在线抠图uupo…

python实现炒股自动化,个人账户无门槛量化交易的开始

本篇作为系列教程的引子&#xff0c;对股票量化程序化自动交易感兴趣的朋友可以关注我&#xff0c;现在只是个粗略计划&#xff0c;后续会根据需要重新调整&#xff0c;并陆续添加内容。 股票量化程序化自动交易接口 很多人在找股票个人账户实现程序化自动交易的接口&#xff0…

Coding面试题之手写线程池

原理图 JDK线程池原理 实现代码 1.线程类&#xff08;PoolThread&#xff09; 这个类用于执行任务队列中的任务。 public class PoolThread extends Thread {private final Queue<Runnable> taskQueue;private boolean isStopped false;private long lastTaskTime …

传奇世界如何添加新的装备

大家应该都知道传世所有的装备列表都是保存在StdItems.DB 物品数据库中&#xff0c;各种装备的属性等信息也是在这个数据库中来定义的&#xff0c;比如某个武器的攻击力&#xff0c;佩戴要求&#xff0c;外观都是在这个数据库中定义。 然后我们要修改或添加新的装备&#xff0…

老版本goland无法调试新版本go问题处理

背景 无法调试1.20版本b 报错如下&#xff1a; No goroutine selected 懒人不想升级goland版本。 处理方法 1.安装最新的dlv工具 go install github.com/go-delve/delve/cmd/dlvlatest 2.找到刚刚安装的dlv工具&#xff0c;并复制 # 位于$GOPATH的bin目录下&#xff0c;如…

人工智能基础_机器学习022_使用正则化_曼哈顿距离_欧氏距离_提高模型鲁棒性_过拟合_欠拟合_正则化提高模型泛化能力---人工智能工作笔记0062

然后我们再来看一下,过拟合和欠拟合,现在,实际上欠拟合,出现的情况已经不多了,欠拟合是 在训练集和测试集的准确率不高,学习不到位的情况. 然后现在一般碰到的是过拟合,可以看到第二个就是,完全就把红点蓝点分开了,这种情况是不好的, 因为分开是对训练数据进行分开的,如果来…

C语言 预处理详解

目录 1.预定义符号 2.#define 2.1#define 定义标识符 2.2#define 定义宏 2.3#define 替换规则 2.4#和## 2.4.1# 的作用 2.4.2## 的作用 2.5 带有副作用的宏参数 2.6宏和函数的对比 对比 **2.7内联函数 2.8命名约定 3.#undef **4.命令行定义 5.条件编译 常…

npm install 报错 chromedriver 安装失败的解决办法

npm install chromedriver --chromedriver_cdnurlhttp://cdn.npm.taobao.org/dist/chromedriver

ubuntu 内网源如何搭建 —— 筑梦之路

为什么要搭建内网源&#xff1f; 原因&#xff1a;内网开发环境由于其特定原因不能上外网&#xff0c;所以需要本地环境下的内网源来方便开发人员下载安装软件 搭建建议 单独使用一块磁盘来存放源文件或者单独一个目录下&#xff0c;避免混淆。 环境说明 ubuntu 系统 两张…

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException:

错误描述如下所示&#xff1a; 我们将错误拉到最下面如下所示为导致异常的原因&#xff1a; Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type com.example.reviewmybatisplus.Service.UserService available: expec…

双编码器构建机器人零力拖动/导纳控制思路

前言 这篇博客主要记录昨日与实验室大佬针对UR5机器人拖动示教功能实现的思路。由于本人并非主攻力控方面。直到昨天在做实验的时候&#xff0c;与力控组的大佬讨论过后才了解UR机器人实现导纳控制的思路。 关于导纳控制/零力拖动 导纳控制与阻抗控制单从字面去理解很容易记…

PHP编写采集药品官方数据的程序

在 PHP 中编写爬虫程序&#xff0c;首先我们需要引入一些必要的库&#xff0c;如 curl 和 file_get_contents。然后&#xff0c;我们需要设置爬虫ip信息&#xff0c;以便我们可以从指定的爬虫ip服务器上获取数据。 // 引入必要的库 require_once curl.php;// 设置爬虫ip信息 $p…

CMake教程--QT项目使用CMake

CMake教程--QT项目使用CMake Chapter1 CMake教程--QT项目使用CMake1. Basic Cmake Based Project2. Executable VS Library3. Every module has its own CMakeList.txt in its folder3.1 不推荐的做法&#xff1a;3.2 推荐的做法 4. 强制以Debug, Release, RelWithDebInfo, Min…

[游戏中的图形学实时渲染技术] Part1 实时阴影技术

原理篇&#xff1a; 常见的渲染方程如下&#xff1a; &#xfffd;&#xfffd;(&#xfffd;,&#xfffd;&#xfffd;) &#xfffd;&#xfffd;(&#xfffd;,&#xfffd;&#xfffd;) ∫Ω&#xfffd;&#xfffd;(&#xfffd;,&#xfffd;&#xfffd;)&#xf…

Hls学习(一)

1&#xff1a;CPU、DSP、GPU都算软件可编程的硬件 2&#xff1a;dsp在递归方面有所减弱&#xff0c;在递归方面有所增强&#xff0c;比如递归啊等&#xff0c;GPU可以同时处理多个进程&#xff0c;对于大块数据&#xff0c;流处理比较适用 3&#xff1a;为了提高运算量处理更多…