微信小程序与H5页面传值

2023-10-27

一.当前问题

1.小程序无法操作dom

因为微信小程序无法获取dom,有一些业务的api必须要操作dom,所以只有在小程序中引入H5页面,我之前写过一篇文章是关于保持ui一致的技术选取的文章。

2.小程序无法与H5传值

那么问题又来了,H5与小程序又如何实现数据实时传输呢,其实方法也有很多。

解决方法

1.小程序无法与H5传值

下面是关于小程序的web-view标签和使用方法,在h5中还要引入jssdk,本人使用的vue框架,所以直接npm安装了一个。bindmessage是可以接受数据的,但是只有当小程序后退,组件销毁,分享的时候才会触发接受消息,这就无语,不能达到一直传输的效果。(之前看见过一个博主的解决方法,写一个页面,功能就只是跳转页面,达到接受数据的效果,但并不能解决我的业务需求)
在这里插入图片描述
在这里插入图片描述
我的业务需求是通过小程序获取的地理坐标,实时传送给H5页面,然后再H5页面中拿到坐标再通过openlayers渲染出来。

2.微信小程序实时获取坐标

一进入微信小程序时,会有弹窗提醒用户开启获取地理位置的弹窗

const _locationChangeFn = (res) => {
      this.coorstr = [res.longitude,res.latitude].toString()
    }
    // 微信开启小程序获取地理坐标
    wx.startLocationUpdate({
      success: (res) => {
        wx.onLocationChange(_locationChangeFn)
        console.log('startLocationUpdate-res', res)
      },
      fail: (err) => {
        console.log('startLocationUpdate-err', err)
      }
    })

关于wx.onLocationChange(_locationChangeFn)是持续获取地理位置信息,但是在PC端微信小程序开发者工具中可能只会看见调用一次(输出结果只有一条),之前我还添加定时器让他一直调用,其实没有必要在移动端他会一直输出的。(这里也是一个坑)

3.微信小程序使用websocket

和直接在web里面不同,得使用微信自己的接口,保持与websocket的实时链接,这样就可以了。

wx.connectSocket({
      url:'ws://59.110.136.223'//这里是自己的url
    })
    wx.onSocketOpen (()=>{
      console.log('连接服务器成功了')
      setInterval(()=>{
        wx.sendSocketMessage({
          data: this.coorstr,
        })
        console.log(this.coorstr)
      },3000)
    })
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序与H5页面传值 的相关文章

随机推荐

  • 在VC中创建DLL文件的方法步骤

    一 Win32动态链接库 1 制作的步骤 1 新建WIN32 Dynamic link Library工程 工程名为MyDll 选择A simple DLL project类型 2 MyDll h的内容如下 以下是引用片段 extern C
  • Ubuntu下编译的第一个内核模块

    内核模块是Linux内核向外部提供的一个插口 其全称为动态可加载内核模块 Loadable Kernel Module LKM 我们简称为模块 Linux内核之所以提供模块机制 是因为它本身是一个单内核 monolithic kernel
  • nodeJs连接mongodb数据库的操作

    首先要启动一个数据库 在配置了环境变量的后 可直接在全局打开cmd窗口 启动一个服务器 没有配置环境变量 在文件夹data下的db文件夹下运行cmd窗口 输入命令 mongodb dbpath d data db 启动数据库后 在重新打开一
  • Java断言

    1 断言的概念 断言机制允许在测试期间向代码中插入一些检查 而在生产代码中会自动删除这些检查 Java语言中引入了关键字assert 这个关键字有两种形式 assert condition 和 assert condition expers
  • stm32 mqtt 如何判断心跳包发送成功_MQTT系列

    1 MQTT中的QoS等级 MQTT设计了一套保证消息稳定传输的机制 包括消息应答 存储和重传 在这套机制下 提供了三种不同层次QoS Quality of Service QoS0 At most once 至多一次 QoS1 At le
  • JDBC数据库连接池的使用

    JDBC数据库连接池的使用 一 基本概念和使用步骤 1 1 基本概念 概念 数据库连接池是一个存放数据库连接的容器 当系统初始化好后 容器被创建 容器中存储着一些数据库连接对象 当用户访问数据库 时 会从容器中获取一个数据库连接对象 当用户
  • [4G&5G专题-121]:架构-未来网络发展大会有感

    未来的网络是什么样子 说复杂 可以非常复杂 可以讲几天的主题 说简单 可以非常简单 其实就是如下的几个属性 泛在性 多 所谓泛在性 就是 网络无处不在 从天到地 从室内到室外 从海洋到沙漠 从深林到闹市 包括5G通信 6G的卫星通信等 万物
  • JAVA编程练习50题超详细

    练习题 通过代码编写 输出一句话 我要开始学习JAVA了 今天又是知识量满满的一天 package cn cxy exec public class TestPrint public static void main String args
  • python读取HDF5数据

    本文主要利用python 读取HDF5数据 如icesat2 atl08数据 转载 https hdfeos org zoo index openICESat2 Examples php ATL 输入数据 atl08 HDF5格式数据 功能
  • QT编译找不到signals函数

    通过QT编译可以不必将 h文件全部导入到pro文件中 但是对于该Signal函数 如果不导入 则找不到
  • Excel vba 基本语法

    目录 一 循环 二 选择判断 三 表格内容读取和字符串拆分 四 琐碎内容 五 登录界面 一 循环 For 初始化变量To循环次数 用Next结尾 注 循环完后 i变量是20 循环20次 For i 1 To 20 Next 循环20次 i
  • 【JavaScript编程语言】script标签,注释

    Hello world 本教程的这一部分内容是关于 JavaScript 语言本身的 但是 我们需要一个工作环境来运行我们的脚本 由于本教程是在线的 所以浏览器是一个不错的选择 我们会尽可能少地使用浏览器特定的命令 比如 alert 所以如
  • Mermaid使用简介

    文章目录 mermaid简介 流程图 flowchart 时序图 sequence diagram 甘特图 gantt diagram 下游项目 Mermaid详解 流程图基本语法 Graph 节点和形状 默认节点 文本节点 圆角节点 圆形
  • ACTIVITI 5.22.0 流程退回上一节点,实现多实例串行与并行退回

    import java util ArrayList import java util Date import java util HashSet import java util List import java util Map imp
  • 【Python笔记】正则表达式基础和应用

    文章目录 0 引言 0 1 正则 定义 功能 0 2 正则 基本知识 0 3 在常见的编辑器中使用正则 方法 0 4 进阶内容 1 基础篇 1 1 元字符 如何巧妙记忆正则表达式的基本元件 1 特殊单字符 2 空白符 3 量词 4 范围 5
  • Unreal5(虚幻5)学习记录 快捷键

    虚幻5学习记录 快捷键 世界场景中漫游 镜头移动 按住鼠标右键 键盘的W 前 S 后 A 左 D 右 E 上 Q 下 键 透视 透视 ALT G 上部分 ALT J 底视图ALT SHIFT J 左视图 ALT K 右视图 ALT SHIF
  • 降级、熔断、限流

    降级 熔断和限流是在高并发环境中保护系统稳定性的重要手段 它们通过对服务的调用进行控制和限制 防止系统因突发负载而崩溃或出现性能下降 1 降级 Degradation 概念 降级是指在系统遇到异常或高负载等情况下 暂时关闭或者切换到一些功能
  • React中的Suspence组件解决抖动问题

    React 中的 Suspense 组件是用来处理异步渲染的 当我们需要异步加载某些组件或数据时 通常会出现一个 抖动 问题 即页面在等待异步加载完成时会出现一些不必要的视觉变化 比如页面出现空白或者加载指示器 Suspense 可以解决这
  • MySQL中的SQL语句

    文章目录 MySQL中的SQL语句 SQL通用语法 SQL分类 DDL 1 数据库操作 1 查询所有数据库 2 查询当前数据库 3 创建数据库 4 删除数据库 5 切换数据库 2 表操作 2 1 表操作 查询创建 1 查询当前数据库所有表
  • 微信小程序与H5页面传值

    关于微信小程序与H5传值 一 当前问题 1 小程序无法操作dom 2 小程序无法与H5传值 解决方法 1 小程序无法与H5传值 2 微信小程序实时获取坐标 3 微信小程序使用websocket 一 当前问题 1 小程序无法操作dom 因为微