当前位置: 首页 > news >正文

uniapp、web网页跨站数据交互及通讯

        来来来,说说你的创作灵感!这就跟吃饭睡觉一样,饿了就找吃的,渴了就倒水张口灌。

最近一个多月实在是忙的没再更新日志,好多粉丝私信说之前的创作于他们而言非常有用!受益菲浅,这里非常感谢粉丝们的抬爱及认可。本来写这些东东也没有什么私心,只是觉的写写,将来有人看到,在工作中会提供一份帮助或思路即可。

        好了,来说说本文要总结的技术方案及场景。

使用uniapp开发出来APP,在开发过程中加载到了自己网站上的一些页面,这些页面呢是公共核心功能,不必要再在app上实现一遍,而是直接跨站访问WEB页面的URL,把初化参数传给URL,后续的点击事件等通过jsbridge来发送到APP端实现相应的功能及业务。如:WEB上录入数据完成后点击WEB上的的完成事件按钮后,APP直接回退到上一级页面!这个场景是不是很好玩!WEB上某个事件透传到APP,在APP上进行更友好的弹窗或者提示是不是也很新鲜?下来来贴一下实现代码:

 一、web端透传数据到uniapp端

先来看看官方的文档说明:

web-view的文档icon-default.png?t=N7T8https://uniapp.dcloud.net.cn/component/web-view.html自行从头到尾阅读一下整体文档及说明,这里直接进入正题整理相关的方案:

  • uni.webview.js 最新版地址:hybrid/html/uni.webview.1.5.5.js · alpha · DCloud / hello uni-app x · GitCode

 1、在你的web项目中的public目录创建一个名为uni.webview.js 的文件,当然你自己可台随便给名。

 2、点击上面连接的JS文件,拷贝文件里面的所有的代码粘贴到上步创建的文件中。

 3、按照下图在你的index.html引入本地新加的uni.webview.js文件。当然你可以忽略1、2步,直接在src处引入'https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/hybrid/html/uni.webview.1.5.5.js'连接,只是没有本地加载来的效率高快而已。同时注意<script></script>脚本必须位于body之下!!!

引入后,在你的web页面相关需要通讯的地方添加以下代码: 

至此WEB上相关的业务已经完成部署,来看看UNIAPP上的代码实现:

 在你加载web页面的业务处,给webview添加message事件!

 uniapp实现业务逻辑:

注意真机运行有效! 

二、uniapp透传数据到web端

1、app端:参数对象必须json序列化!app2web这个就是你注册的方法名,可以根据你自己的习惯去命名即可。

2、web端:因为我web端没有具体的业务要求,所以没有具体的业务实现。

http://www.lryc.cn/news/348973.html

相关文章:

  • 2024-05-10 Ubuntu上面使用libyuv,用于转换、缩放、旋转和其他操作YUV图像数据,测试实例使用I420ToRGB24
  • 怎么给视频加水印?2招轻松搞定
  • SpringBootWeb 篇-深入了解请求响应(服务端接收不同类型的请求参数的方式)
  • 实验十 智能手机互联网程序设计(微信程序方向)实验报告
  • Python图形复刻——绘制母亲节花束
  • 【算法优选】 动态规划之子数组、子串系列——壹
  • PXE+Kickstart无人值守安装安装Centos7.9
  • C语言实现通讯录,包括增删改查以及动态开辟内存,写入文件等功能
  • flowable多对并发网关跳转的分析
  • 【嵌入式——QT】QT集成Ymodem协议使用UDP进行传输
  • python笔记(17)输入输出
  • 408数据结构总结复习笔记一:线性表
  • Docker——目录迁移
  • SpringAMQP-消息转换器
  • 轻松拿下指针(5)
  • Nginx反向代理配置
  • 突破编程界限:探索AI编程新境界
  • C语言(指针)2
  • go学习笔记
  • MacApp自动化测试之Automator初体验
  • Vue学习v-html
  • C++并发:锁
  • Git | git log 和 git status 的区别
  • Django 4.x 智能分页get_elided_page_range
  • java-spring 09 下.populateBean (方法成员变量的注入@Autowird,@Resource)
  • 赛氪网携手众机构助力第七届京津冀生态修复实践论坛圆满落幕
  • Naive RAG 、Advanced RAG 和 Modular RAG 简介
  • Python高级编程-DJango2
  • bash脚本 报错:/bin/bash^M:解释器错误: 没有那个文件或目录
  • win10专业版远程桌面连接不上,win10专业版远程桌面连接不上常见原因与解决方法