uniapp引入uniapp打包的H5跳转H5以及H5返回app方法

  1. 在app项目添加webview文件夹添加gridWebview.vue文件。代码如下
<template><view><web-view :src="src" @message="getMessage" ></web-view></view>
</template><script>export default {data() {return {src: '',}},computed: {token() {return this.$store.state.login.token || ''},roles() {return this.$store.state.login.roles || ''},userInfo(){return this.$store.state.login.userInfo || ''}},onLoad(opt) {console.log(opt)//拼接所需参数this.title = opt.titlethis.src = opt.src+ (opt.src.includes('?') ? '&' : '?') + (this.token.length>0 ? 'token=' + this.token : '') + (this.userInfo.phone.length>0 ?`&phone=${this.userInfo.phone}` :'' )+ (this.userInfo.userId.length>0 ?`&userId=${this.userInfo.userId}` :'' )+ (this.userInfo.username.length>0 ?`&username=${this.userInfo.username}` :'' )+ (opt.data?`&data=${opt.data}` :'' )+ (opt.cityid?`&cityid=${opt.cityid}` :'' )},onShow() {// #ifdef APP-PLUS设置webview显示时顶部丢失问题var height = 0; //定义动态的高度变量,如高度为定值,可以直接写uni.getSystemInfo({//成功获取的回调函数,返回值为系统信息success: (sysinfo) => {height = sysinfo.windowHeight -40; //自行修改,自己需要的高度 此处如底部有其他内容,可以直接---(-50)这种,如果不减,页面会下沉,看不到底部导航栏},complete: () => {}});var currentWebview = this.$scope.$getAppWebview(); //获取当前web-viewsetTimeout(function() {var wv = currentWebview.children()[0];wv.setStyle({ //设置web-view距离顶部的距离以及自己的高度,单位为pxtop: 40, //此处是距离顶部的高度,应该是你页面的头部height: height, //webview的高度scalable: false, //webview的页面是否可以缩放,双指放大缩小,})}, 500); //如页面初始化调用需要写延迟// #endif},methods: {customBack() {// 在Webview页面中调用uni.navigateBack()  uni.navigateBack();},getMessage(event) {  //在H5端使用通信返回App端console.log(event, '0000000000000000000000000')if (event.detail.data[0].action == 'uni-app') {uni.navigateBack();}}},}
</script>

2. app跳转H5使用如下方法:

//跳转到对应的webview页面并传入url和其他参数
uni.navigateTo({url: item.url.startsWith('http') ? `/pages/webview/gridWebview?title=${item.name}&src=${item.url}` : item.url})

3.H5返回app使用如下方法:

app.vue页面需要引入uni.webview.1.5.2.js文件 (目前此方法只能在真机上返回,H5上目前点击无效)

<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script> 
onLaunch: function() {this.initScript()console.log('App Launch')},onShow: function() {console.log('App Show')},onHide: function() {console.log('App Hide')},methods: {initScript() {var script = document.createElement('script');script.type = "text/javascript";script.async = true;script.src = "./static/js/uni.webview.1.5.2.js";document.head.appendChild(script);console.log(wx, "wx");}}

在需要返回的页面添加返回方法:

goBack() {console.log('0000000', uni, )uni.webView.postMessage({data: {action: 'uni-app', //可自己随意定义,需要与app中接收通信的方法对应}});
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Python中pyside2出现的pyside2 qt platform plugin could be in错误及其解决方法

系统平台&#xff1a;Win10 64bit python版本&#xff1a; python 3.8 使用pip install pyside2安装 pyside2 这是找不到QT平台的插件&#xff0c;这是环境变量QT_QPA_PLATFORM_PLUGIN_PATH出现错误 具体解决方法&#xff1a; 我们可以在每一段程序开始之前设定环境变量&…

设备需要支持GMS,Rockchip芯片,写入Attestation key方法 Google 申请keybox 检查是否已经写入Attestation key

写入Attestation key方法 首先通过3PL向谷歌申请Google keybox&#xff0c;拿到keybox后使用瑞芯微提供的打包工具 rkpacker打包成烧写的格式&#xff0c;再使用工具烧写到设备中&#xff0c;相关的工具在工程目录 1、申请Google keybox 比如test_keybox.xml 2、打包工具Lin…

MySQL多版本并发控制mvcc原理浅析

文章目录 1.mvcc简介1.1mvcc定义1.2mvcc解决的问题1.3当前读与快照读 2.mvcc原理2.1隐藏字段2.2版本链2.3ReadView2.4读视图生成原则 3.rc和rr隔离级别下mvcc的不同 1.mvcc简介 1.1mvcc定义 mvcc(Multi Version Concurrency Control)&#xff0c;多版本并发控制&#xff0c;是…

uniapp实现点击事件跳转页面

首先定义一个点击事件 这里采用的vue3的写法&#xff0c;然后写上触发事件后要跳转的路径 function jump() {uni.switchTab({url:/pages/bangong/index})} 到这里就简单的实现uniapp的点击跳转页面了

IIS部署跨平台.Net Core项目

IIS部署跨平台.Net Core项目 文章介绍: 大家好,我是行不更名,坐不改姓的宋晓刚,下面是IIS部署跨平台.Net Core项目的教程。 微信:15319589104 QQ: 2981345658 1.0我们部署的项目为.Net Core项目 2.0打开IIS管理器 3.0设置控制面板中的参数,程序 》程序和功能 》启用和…

如何用PHP语言实现远程语音播报

如何用PHP语言实现远程语音播报呢&#xff1f; 本文描述了使用PHP语言调用HTTP接口&#xff0c;实现语音播报。通过发送文本信息&#xff0c;来实现远程语音播报、语音提醒、语音警报等。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 序号设备名称1…

电脑虚拟机有免费的吗?常见的虚拟机工具软件有哪些?Parallels Desktop19最新版本好用吗

PD虚拟机&#xff0c;即Parallels Desktop&#xff0c;是一款专为Mac用户设计的虚拟机软件&#xff0c;由Parallels公司开发&#xff0c;它允许用户在Mac操作系统上无缝运行Windows、Linux以及其他操作系统&#xff0c;并在这些系统中安装程序或者游戏&#xff0c;无需重启即可…

kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战

1、MQTT介绍 MQTT (Message Queuing Telemetry Transport) 是一种轻量级的消息传输协议&#xff0c;设计用于连接低带宽、高延迟或不可靠网络的设备。 MQTT 是基于发布/订阅模式&#xff08;Publish/Subscribe&#xff09;的协议&#xff0c;其中设备可以发布消息到一个主题&…

宏电“窨井卫士”为城市铸造坚实内涝防线

窨井的水情监测是预防城市内涝的重要手段&#xff0c;窨井水位、流量数据能直观地反映城市排水管网的运行状态。当窨井水位、流量持续上升时&#xff0c;往往表明排水系统可能已经或即将超过其处理能力&#xff0c;需要及时进行排查和处理&#xff0c;避免城市内涝的发生。 宏电…

【测试开发学习历程】python常用的模块(下)

目录 8、MySQL数据库的操作-pymysql 8.1 连接并操作数据库 9、ini文件的操作-configparser 9.1 模块-configparser 9.2 读取ini文件中的内容 9.3 获取指定建的值 10 json文件操作-json 10.1 json文件的格式或者json数据的格式 10.2 json.load/json.loads 10.3 json.du…

Quasar中的<q-select>相关信息

<q-selectoutlinedstyle"padding: 0;white-space: nowrap;overflow: clip"v-model"item":options"allGoodsType"option-value"rv_low_value"option-label"rv_meaning"emit-valuemap-options/>示例1&#xff1a; whit…

Seal^_^【送书活动第2期】——《Flink入门与实战》

Seal^_^【送书活动第2期】——《Flink入门与实战》 一、参与方式二、本期推荐图书2.1 作者简介2.2 编辑推荐2.3 前 言2.4 本书特点2.5 内容简介2.6 本书适用读者2.7 书籍目录 三、正版购买 一、参与方式 评论&#xff1a;"掌握Flink&#xff0c;驭大数据&#xff0c;实战…

HOOPS Commuicator:基于Web的交互式2D/3D图形轻量化引擎

在当前数字化时代&#xff0c;Web基础的3D应用程序正在成为行业标准&#xff0c;尤其是在工程和制造领域。Tech Soft 3D公司旗下的HOOPS Communicator正是针对这一需求设计的高级解决方案&#xff0c;提供了一套全面的工具&#xff0c;旨在帮助开发者构建复杂的3D工程应用程序。…

2024年【R2移动式压力容器充装】考试及R2移动式压力容器充装实操考试视频

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 R2移动式压力容器充装考试考前必练&#xff01;安全生产模拟考试一点通每个月更新R2移动式压力容器充装实操考试视频题目及答案&#xff01;多做几遍&#xff0c;其实通过R2移动式压力容器充装在线考试很简单。 1、【…

java -spring-引入外部属性文件-初入spring学习

引用外部属性文件 作用 分离配置与代码&#xff1a;将配置信息&#xff08;如数据库连接信息、服务器地址、端口号等&#xff09;从代码中分离出来&#xff0c;使得代码更加清晰和专注于业务逻辑的实现。这样&#xff0c;当配置信息需要变更时&#xff0c;我们无需修改和重新…

前端Vue中async/await、promise 和setTimeout工作原理和执行顺序

前端Vue中async/await、Promise 和 setTimeout 在 JavaScript 中都是处理异步操作的方法&#xff0c;但它们的工作原理和执行顺序有所不同。以下是它们的执行顺序和关系的简要说明&#xff1a; 同步代码执行&#xff1a;在任何异步操作开始之前&#xff0c;首先会执行所有的同步…

Dynamics365 视图搜索启用/禁用星号模糊搜索

默认该设置是开启的&#xff0c;位置在环境-你对应的组织-设置-特性中 一旦开启&#xff0c;则会阻止你使用*号模糊搜索&#xff0c;你按回车没有任何反应 如果要使用模糊搜索&#xff0c;则将该设置关闭&#xff0c;使用时只有下述这么一段警告&#xff0c;不会阻止你使用 全局…

3DE DELMIA Role: PSFEM - Structure Fabrication Engineer for Marine

Discipline: Process Engineering Role: PSFEM - Structure Fabrication Engineer for Marine 通过结构详细设计生成的基于规则的自动化工作准备&#xff0c;用于管理用于生产的制造可交付成果 所有结构设计零件的基于规则的工作准备和对应的生产可交付成果(工程图、机器数据&…

欢乐钓鱼大师一键钓鱼,解放双手!

《钓鱼欢乐大师》是一款让玩家体验钓鱼乐趣的游戏&#xff0c;在游戏中&#xff0c;玩家可以通过技巧和策略钓到各种各样的鱼。为了提高钓鱼效率&#xff0c;让玩家更快地钓到大鱼&#xff0c;下面将介绍如何利用脚本来优化游戏体验。 第一步&#xff1a;准备工作 创建云机&…

电脑遗失d3dx9_43.dll文件会给电脑带来什么问题,有哪些方法可以解决丢失d3dx9_43.dll文件的办法

电脑遗失了d3dx9_43.dll文件&#xff0c;可能会引发一系列麻烦的后果。那么&#xff0c;针对这种情况&#xff0c;我们应该采取哪些方法来修复丢失的d3dx9_43.dll文件呢&#xff1f;下面将介绍几种解决d3dx9_43.dll文件丢失问题的有效方法。 对d3dx9_43.dll文件的简要介绍 d3d…