uniapp与webview之间的相互传值的实现


Posted in Javascript onJune 29, 2020

1.uni-app 如何发送数据到 H5? 其实很接单、在 web-view 中只需要通过 URL 就可以向 H5 进行传参 例如在 uni-app 中:

<template>
  <view class="advertisement" style="width: 100%;">
    <web-view :src="url" @message="message"></web-view>
  </view>
</template>
 
<script>
export default {
  data() {
    return {
      url:'/hybrid/html/local.html?data='
    };
  },
  onLoad(data) {<br>



//这里对要传入到webview中的参数进行encodeURIComponent编码否则中文乱码
    this.url+=encodeURIComponent(data.data)
  },
  mounted() {},
  methods: {
    message(event){
      console.log(event.detail.data);
    }
  }
};
</script>
 
<style scoped="scoped" lang="scss">
@import './advertisement.scss';
</style>

那么在 H5 中是如何接收值得呢?

console.log(getQuery('data')); //获取 uni-app 传来的值
            
      //取url中的参数值
      function getQuery(name) {
        // 正则:[找寻'&' + 'url参数名字' = '值' + '&']('&'可以不存在)
        let reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
        let r = window.location.search.substr(1).match(reg);
        console.log(r);
        if(r != null) {
          // 对参数值进行解码
          return decodeURIComponent(r[2]);
        }
        return null;
      }

2.webview向uniapp传值

<script>
  document.addEventListener('UniAppJSBridgeReady', function() {
    //向uniapp传值
    uni.postMessage({
      data: {
        action: 'message'
      }
    });
    uni.getEnv(function(res) {
      console.log('当前环境:' + JSON.stringify(res));
    });
  });
</script>

uniapp接受

//message接受方法

<template>
  <view class="advertisement" style="width: 100%;">
    <web-view :src="url" @message="message"></web-view>
  </view>
</template>

到此这篇关于uniapp与webview之间的相互传值的实现的文章就介绍到这了,更多相关uniapp与webview相互传值内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JQuery下关于$.Ready()的分析
Dec 13 Javascript
javascript hasFocus使用实例
Jun 29 Javascript
对jQuery的事件绑定的一些思考(补充)
Apr 20 Javascript
js post提交调用方法
Feb 12 Javascript
基于javascript实现动态时钟效果
Aug 18 Javascript
jquery弹出遮掩层效果【附实例代码】
Apr 28 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
Apr 01 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
Aug 13 jQuery
Vue 路由切换时页面内容没有重新加载的解决方法
Sep 01 Javascript
webpack4 升级迁移的实现
Sep 12 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
Apr 15 Javascript
纯JS开发baguetteBox.js响应式画廊插件
Jun 28 Javascript
基于Element封装一个表格组件tableList的使用方法
Jun 29 #Javascript
iview实现图片上传功能
Jun 29 #Javascript
vue+animation实现翻页动画
Jun 29 #Javascript
vue+element实现图片上传及裁剪功能
Jun 29 #Javascript
vue实现匀速轮播效果
Jun 29 #Javascript
vant实现购物车功能
Jun 29 #Javascript
js实现随机点名器精简版
Jun 29 #Javascript
You might like
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
从php核心代码分析require和include的区别
2011/01/02 PHP
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
PHP 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
深入解析php中的foreach函数
2013/08/31 PHP
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
javascript之Partial Application学习
2013/01/10 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
深入理解JS中的Function.prototype.bind()方法
2016/10/11 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
js精确的加减乘除实例
2017/11/14 Javascript
使用javascript做在线算法编程
2018/05/25 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
Vue实现简易购物车页面
2020/12/30 Vue.js
python实现dict版图遍历示例
2014/02/19 Python
Python脚本实现DNSPod DNS动态解析域名
2015/02/14 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
使用python实现tcp自动重连
2017/07/02 Python
python实现百度语音识别api
2018/04/10 Python
python中yaml配置文件模块的使用详解
2018/04/27 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
详解Python中的type和object
2018/08/15 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
Python 解决相对路径问题:&quot;No such file or directory&quot;
2020/06/05 Python
医院标语大全
2014/06/23 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
维稳工作情况汇报
2014/10/27 职场文书
2014年行政人事工作总结
2014/12/09 职场文书
医德医风学习心得体会
2016/01/25 职场文书
浅谈Redis的几个过期策略
2021/05/27 Redis