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

【uniapp】APP内嵌webview消息传递

本文章是记录用来处理app和web页面的消息互相传递

uniapp代码(.vue页面)

<template> <!--vue-webview验证-->
	<view>
		<button @tap="sendMsgToWebview()">按钮1</button>
		<web-view style="width:0; height:0;" src="http://写你自己的网页地址" @message="onMessage" ref="webview"></web-view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
			}
		},
		onLoad() {
		},
		methods: {
			onMessage(arg) {
				console.log('------app收到-----',arg)
			},
			sendMsgToWebview() {
				const
					_funName = 'msgFromUniapp',
					_data = 4444;
				const currentWebview = this.$scope.$getAppWebview().children()[0];
				currentWebview.evalJS(`${_funName}(${JSON.stringify(_data)})`);
			},
		}
	}
</script>
<style>
</style>

web (未使用uni)

<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
		<script type="text/javascript" src="./js/uni.webview.js"></script>//这个文件的下载地址我放下面
    </head>
    <body>
        <script>
            // 等待sdk加载
            document.addEventListener('UniAppJSBridgeReady', function() {
                // 向应用发送消息
                uni.postMessage({
                    data: {
                        order: 'playRecord'
                    }
                });
            });
			
			window.msgFromUniapp = function(arg) { //消息接收
				console.log('-----web接收-----',JSON.stringify(arg));
				if(JSON.stringify(arg) == 4444){  //模拟接收信息后立刻回复一条
					console.log('dawiluydgawkljdgwakjdgaw')
					uni.postMessage({
					    data: {
					        order: '回复回复回复'
					    }
					});
				}
			}
        </script>
    </body>
</html>

uni.webview.js 下载地址 没了就去uni官网下


http://www.kler.cn/a/459896.html

相关文章:

  • PP模块部分BAPI函数
  • Netty学习 - 编译Netty4.2
  • Java的基础概念(二)
  • 聊聊 C# 中的委托
  • 某小程序sign签名参数逆向分析
  • 2000-2020年各省财政一般预算支出面板数据
  • 计算机网络 (13)信道复用技术
  • SmartAIChain荣获重要认可
  • MATLAB符号计算-符号表达式基础运算操作
  • CAD学习 day11
  • 【数据结构】线性数据结构——链表
  • 深入了解 Linux tree 命令及其常用选项:Linux如何显示目录结构和文件大小
  • 【分布式文件存储系统Minio】2024.12保姆级教程
  • CentOS修改docker镜像存储位置并进行数据迁移
  • Java-list均分
  • 机器学习-高斯混合模型
  • 深度学习中常用的开源数据集
  • 艾体宝产品丨加速开发:Redis 首款 VS Code 扩展上线!
  • android13 系统文字大小和显示大小的修改
  • 【Linux】:多线程(读写锁 自旋锁)
  • RabbitMQ基础篇之Java客户端快速入门
  • 【每日学点鸿蒙知识】RichText展示问题、slider组件内置间距、WebView性能优化、AVSession错误
  • 12.30 linux 文件操作,磁盘分区挂载
  • 【2024年-7月-13日-开源社区openEuler实践记录】探索 CPM4OSSP-UI:提升用户交互体验的开源宝藏
  • 软件测试 Linux 服务器监控命令的基本知识
  • 大模型—Ollama 结构化输出