在前端工作中,会遇到很多邀请好友的需求,这个时候就需要前端对需求进行实现了。

最终效果:

这个是做好以后的成品,根据链接生成二维码,提供保存二维码和复制链接功能,纯前端实现。话不多说直接上代码

html:

//存放二维码和链接  注意!存放链接的input标签不可以禁用,只能maxlength="0" readonly="readonly让input不能输入即可
<div class="invitation-http"><div class="invitation-http-code" id="invitationma"></div><div style="font-size: 14px;margin-left: 10%;"><label for="copy">邀请链接:</label><input type="text" id="copy" value="www.csdn.com" maxlength="0" readonly="readonly"></div><div class="invitation-http-btn"><button type="button" id="savebtn" class="btnstyle"><span id="download"></span></button><button type="button" id="copybtn" onclick="copyText()" class="btnstyle">复制链接</button></div></div>

css(可以自己调整):

 .invitation-http{width: 92%;height: auto;background-color: white;margin-top: 30rem;margin-left: 4%;padding: 1rem;border-radius: 10px;padding-top: 2rem;}.invitation-http-code{width: 30%;margin: 0 auto;}.invitation-http-code>img{width: 100%;height: 100%;}#copy{margin-top: 1rem;font-size: 14px;color: black;outline: none;border: 0;background: none;text-overflow:ellipsis;width: 40%;}#copy2{margin-top: 1rem;font-size: 14px;color: black;outline: none;border: 0;background: none;text-overflow:ellipsis;width: 40%;}.btnstyle{width: 30%;height: 2rem;color: white;border: 0;outline: none;background-color:#f98210;border-radius: 3px;}canvas{width: 100%;height: 100%;}input{text-align: center;}#download>a{display: block;color: white;}.invitation-http-btn{width:92%;margin-left: 4%;display: flex;justify-content: space-between;margin-top: 2rem;}

核心js代码:

//链接生成二维码function creater(text = '') {//http://www.baidu.com可以自定义任意你要的链接或者文字jQuery('#invitationma').empty().qrcode(text);let drawing = document.getElementsByTagName('canvas')[0];//确定浏览器支持<canvas>元素if (drawing.getContext) {let context = drawing.getContext('2d');console.log(context);//取得图像的数据 URIlet imgURI = drawing.toDataURL("image/png");//显示img格式图片开始(不要此步可以跳过)let image = document.createElement("img");image.src = imgURI;}}
//复制链接
function copyText() {var copys = document.getElementById("copy");copys.select(); // 选中文本document.execCommand("copy"); // 执行浏览器复制命令alert('{:__(\'Invitation link copied successfully\')}');};
//下载二维码图片
$("#savebtn").on("click", function() {$("#downloading").trigger('click');});window.onload = function () {refresh();};function refresh() {let text = document.getElementById("copy").value;creater(text);download_invite_img()}

百万前端之js通过链接生成二维码可以保存下载复制相关推荐

  1. js 根据链接生成二维码

    1.引入插件qrcode.min.js 插件线上地址 2. $(".leftqrcode").qrcode({render: 'canvas' || 'table', //方式wi ...

  2. js前端根据链接生成二维码并转成图片下载

    js前端根据链接生成二维码并转成图片下载 依赖于jquery.jquery.qrcode.min.js 1.html <div class="qrcode"></ ...

  3. vue js前端根据所需参数生成二维码并下载

    需要一个插件 qrcodejs2, 使用 npm install qrcodejs2 --save 下载该依赖包. 在vue中引入(我这边是vue2).import QRCode from 'qrco ...

  4. js实现将链接生成二维码,并对生成的二维码转换为图片,右击可保存至本地

    在vue项目中,实现将链接生成二维码:可识别跳转,将生成的二维码可转换成图片,并可保存至本地.具体操作步骤如下: 1.安装及引用 首先,实现这个功能需要使用QRCode和html2canvas,所以在 ...

  5. JS生成二维码以及保存页面为图片的解决方案:html2Canvas+file-saver+qrcodejs2的使用心得以及解决图片失真,保存不完整的解决办法

    前言 最近因为工作需求,需要前端根据后端传过来的链接生成二维码,并且要使用JS保存页面为图片.然后网上搜了很多解决办法.最终都是用h5的canvas进行绘制然后保存为图片.其中,又以html2Canv ...

  6. qrcode.js使用js生成二维码(并下载)的实践

    知识点 base64数据形式 Base64是一种用64个字符来表示任意二进制数据的方法. – 廖雪峰官方网站 Base64编码有哪些情景需求? – 知乎 案例场景 后台生成邀请链接,前端拿到链接之后处 ...

  7. dom 生成图片和链接生成二维码

    1. dom 生成图片 此处使用的是 html2canvas 插件 和canvas2image插件 html2canvas 方法的第二个入参还有很多选项可以配置,详情请看这里这里 html 1 < ...

  8. 前端批量生成二维码并打包下载

    前端批量生成二维码并打包下载 项目中遇到一个紧急需求在没有后端配合的情况下,前端独自实现生成二维码并打包下载 生成二维码:下载 qrcodejs2 批量打包下载:下载 JSZip 和 FileSave ...

  9. 微信小程序前端生成二维码并保存(海报同理)

    这里写自定义目录标题 1.前端生成二维码并保存 1.前端生成二维码并保存 1.下载weapp.qrcode.js文件并引入项目中 2.先在wxml文件中构建canvas画布 <canvas st ...

最新文章

  1. JOptionPane
  2. 同时起两个mysql 起不了_到底是谁!让你在冬天的早晨起不了床?
  3. LDD3源码分析之访问控制
  4. 广度优先搜索——奇怪的电梯(洛谷 P1135)
  5. java 循环效率_Java For循环效率测试
  6. NVIDIA驱动瘫痪再重装的问题
  7. C++串口通信API方式
  8. JS判断手机端是否安装某应用
  9. C/C++[codeup 1933,1993]图形输出
  10. 如何按数字或者日期时间顺序对多个文件夹进行批量重命名?
  11. windows镜像文件官方下载地址
  12. C++ 学习(四)程序流程结构 - 顺序结构、选择结构、循环结构、跳转语句
  13. 概率统计16——均匀分布、先验与后验
  14. windows下安装ruby on rails
  15. 小程序外包公司有哪些选择参考标准?
  16. 亲测源码小旋风蜘蛛池站群X8.51+自带30套模板
  17. React控制台警告Warning: ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until
  18. 定义表格标签(table)
  19. 基于nodemailer使用阿里云企业邮箱发送邮件(526错误的解决)
  20. Java设计模式方面的面试题大全

热门文章

  1. 【ESP 保姆级教程 预告】疯狂Node.js服务器篇 ——案例:ESP8266 + DS18B20温度传感器 +NodeJs本地服务+ MySQL数据库
  2. Amazon亚马逊卖家设置World First(WF卡)收款教程!
  3. 2023湖南农业大学计算机考研信息汇总
  4. git fatal: detected dubious ownership in repository
  5. [noip2005]篝火晚会
  6. 天翎知识文档系统+群晖NAS,助力企业实现移动化学习
  7. 如何有效开展小组教学_如何有效开展小组合作学习
  8. 桌面端如何运行小程序?
  9. 浅谈Java设计之——Java初始化数组(List/Map)时为何要空数组而不是null
  10. Certificate、Provisioning Profile、App ID的介绍及其之间的关系