vue 二维码长按保存和复制内容操作


Posted in Javascript onSeptember 22, 2020

效果图:

vue 二维码长按保存和复制内容操作

二维码用了 qrcode.vue

npm install qrcode.vue --save  

复制内容用了 vue-clipboard2

npm install vue-clipboard2 --save

1.二维码保存功能:

<div class="qrcode">
    <qrcode-vue
      :size="qrcodeSize"
      :value="shareUrl"
      id="picture"
    ></qrcode-vue>
  </div>
  <div class="btn">
    长按保存至相册
    <img :src="qrcodeImgSrc" class="qrcode-img"/>
  </div>

注意,qrcode.vue渲染的是一个canvas,canvas可以通过toDataURL方法转换为png图片。

长按保存功能是在长按上加一张图片,设置这张图片的opacity为0即可。

模拟a标签点击下载的方法在微信上有问题。

let myCanvas = document.getElementById('picture').getElementsByTagName('canvas')[0];

this.qrcodeImgSrc = myCanvas.toDataURL('image/png');

2.点击按钮,复制粘贴功能:

<div class="copy">
          <span>{{shareUrl}}</span>
          <span @click="doCopy">复制</span>
 </div>
doCopy() {
      this.$copyText(this.shareUrl).then(function (e) {
        alert('Copied')
        console.log(e)
      }, function (e) {
        alert('Can not copy')
        console.log(e)
      })
    }

补充知识:vue插件qrcode实现手机端二维码保存功能

1.安装

npm install qrcode --save

2.页面引入并使用

利用<img src="">标签,实现二维码图片功能。然后长按保存即可。

<template>
  <div class="qrcode">
    <canvas id="canvas" style="display:none"></canvas>   
    <img :src="imgUrl"/>
    <p>长按保存二维码图片</p> 
  </div>
</template>
import QRCode from 'qrcode'
export default {
  data() {
    return {
      codes: '',
      imgUrl:''
    }
  },
  components: {
    QRCode: QRCode
  },
  methods: {
    useqrcode() {//生成二维码
      let canvas = document.getElementById('canvas')
      let url="http://www.baidu.com"
      QRCode.toCanvas(canvas, url, function(error) {
        if (error) { console.error(error) } else { console.log('success!'); }
      })
      this.saveImg()//保存图片
    },
    //保存图片
    saveImg(){
      let myCanvas = document.getElementsByTagName('canvas');
      this.imgUrl=myCanvas[0].toDataURL('image/png')             
    },
  },
  mounted() {
    this.useqrcode(); //生成二维码    
  }
}
</script>

以上这篇vue 二维码长按保存和复制内容操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript入门教程(1) 什么是JS
Jan 31 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
Aug 01 Javascript
JavaScript变量声明详解
Nov 27 Javascript
javascript实现Email邮件显示与删除功能
Nov 21 Javascript
jQuery Validate初步体验(二)
Dec 12 Javascript
jQuery xml字符串的解析、读取及查找方法
Mar 01 Javascript
js实现导航吸顶效果
Feb 24 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
node使用Mongoose类库实现简单的增删改查
Nov 08 Javascript
VeeValidate 的使用场景以及配置详解
Jan 11 Javascript
Vue的data、computed、watch源码浅谈
Apr 04 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
Apr 20 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
Sep 22 #Javascript
解决vue2中使用elementUi打包报错的问题
Sep 22 #Javascript
element-ui中dialog弹窗关闭按钮失效的解决
Sep 22 #Javascript
小程序实现录音功能
Sep 22 #Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
Sep 22 #Javascript
JavaScript实现多层颜色选项卡嵌套
Sep 21 #Javascript
JS实现无限轮播无倒退效果
Sep 21 #Javascript
You might like
Apache设置虚拟WEB
2006/10/09 PHP
Look And Say 序列php实现代码
2011/05/22 PHP
php htmlentities()函数的定义和用法
2016/05/13 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
JQuery选择器特辑 详细小结
2012/05/14 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
通过url查找a元素应用案例
2014/04/29 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
使用jQuery判断浏览器滚动条位置的方法
2016/05/30 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
用JavaScript和jQuery实现瀑布流
2017/03/19 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
Node使用Selenium进行前端自动化操作的代码实现
2019/10/10 Javascript
py中的目录与文件判别代码
2008/07/16 Python
python简单程序读取串口信息的方法
2015/03/13 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
2015/05/21 Python
python一行sql太长折成多行并且有多个参数的方法
2018/07/19 Python
python Qt5实现窗体跟踪鼠标移动
2019/12/13 Python
通俗讲解python 装饰器
2020/09/07 Python
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
上海中网科技笔试题
2012/02/19 面试题
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
捐款倡议书格式范文
2014/05/14 职场文书
毕业生求职信范文
2014/06/29 职场文书
房屋分割离婚协议书范本
2014/12/01 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
PHP实现两种排课方式
2021/06/26 PHP
解决xampp安装后Apache无法启动
2022/03/21 Servers