前言:

最近有个这样的需求,在pc端的商品详情页增加分享功能。

微博分享、QQ好友分享、QQ空间分享这些都很常见。但是微信分享我还没有手动写过(以前改过)。

最终效果如下图:

解决方案:使用jquery.qrcode插件生成二维码

jquery.qrcode cdn地址 参见: https://www.bootcdn.cn/jquery.qrcode/

1.加载 jQuery 和 jquery.qrcode.js:

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/jquery.qrcode/1.0/jquery.qrcode.min.js"></script>

2.微信图标的html代码:

<!-- 微信图标 -->
<div onclick="wxShow()">
<img src="http://zixuephp.net/static/images/wechatshare.png" width="26">
</div>

3.创建一个用于包含 QRcode 图片的 DOM 元素,比如 div。

二维码弹出层html代码:

<!-- 二维码弹出层 -->
<div class="wx-qrcode-wrapper">
<!-- 遮罩层 -->
<div class="mask"></div>
<div class="wx-qrcode">
<h4>微信分享
<!-- 关闭图标 -->
<a href="javascript:;" class="icon-close2" onclick="wxHide()">
<img src="data:images/static_img/icon-close2.png" alt="">
</a>
</h4>
<!-- 生成的二维码容器 -->
<div id="qrcode"></div>
</div>
</div>

4.现在开始写js实现交互功能

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/jquery.qrcode/1.0/jquery.qrcode.min.js"></script>
<script>
/* 生成二维码 */
$("#qrcode").qrcode({
text: "https://github.com/jeromeetienne/jquery-qrcode", //设置二维码内容
render: "table", //设置渲染方式
width: 200, //设置宽度,默认生成的二维码大小是 256×256
height: 200, //设置高度
typeNumber: -1, //计算模式
background: "#ffffff", //背景颜色
foreground: "#000000" //前景颜色
}); /* 点微信图标,触发二维码弹出层显示 */
function wxShow() {
$('.wx-qrcode-wrapper').show()
} /* 关闭二维码弹出层 */
function wxHide() {
$('.wx-qrcode-wrapper').hide()
} </script>

5.完成。

6.测试后产品反馈说二维码扫不出来。。。

7.我把二维码渲染方式 render 改成canvas就好了

render: "canvas"

参考文章:使用jquery.qrcode生成二维码及常见问题解决方案

jquery.qrcode 官网:http://jeromeetienne.github.io/jquery-qrcode/

jquery.qrcode cdn:https://www.bootcdn.cn/jquery.qrcode/

使用jquery.qrcode生成二维码实现微信分享功能的更多相关文章

  1. 使用jquery.qrcode生成二维码及常见问题解决方案

    转载文章  使用jquery.qrcode生成二维码及常见问题解决方案 一.jquery.qrcode.js介 jquery.qrcode.js 是一个纯浏览器 生成 QRcode 的 jQuery ...

  2. 使用jquery.qrcode生成二维码(转)

    jQuery 的 qrcode 插件就可以在浏览器端生成二维码图片. 这个插件的使用非常简单: 1.首先在页面中加入jquery库文件和qrcode插件. <script type=" ...

  3. (转)js jquery.qrcode生成二维码 带logo 支持中文

    场景:公司最最近在开发二维码支付业务,所以需要做一个html5中的二维码生成和部署! 前天用js生成二维码,节省服务器资源及带宽 原版jquery.qrcode不能生成logo,本文采用的是修改版 1 ...

  4. jQuery.qrcode 生成二维码,并使用 jszip、FileSaver 下载 zip 压缩包至本地。

    生成二维码 引用 jquery.qrcode.js  :连接:https://files.cnblogs.com/files/kitty-blog/jquery.qrcode.js .https:// ...

  5. 使用jquery.qrcode生成二维码支持logo,和中文

    /* utf.js - UTF-8 <=> UTF-16 convertion * * Copyright (C) 1999 Masanao Izumo <iz@onicos.co. ...

  6. jquery.qrcode 生成二维码带logo

    <div id="container">这里是二维码显示位置</div> <script language="JavaScript" ...

  7. jquery.qrcode生成二维码支持中文

    基本使用方法: 1.首先在页面中加入jquery库文件和qrcode插件. <script type="text/javascript" src="jquery.j ...

  8. qrcode.react和jquery.qrcode生成二维码

    qrcode.react 1.安装 npm install qrcode.react 2.用法(这里用的ant design) import React from 'react'; import QR ...

  9. qrcode 生成二维码

    qrcode 生成二维码 Demo: https://www.hgnulb.cn/freedom/qrcode/qrcode.html qrcodeGithub 地址: https://github. ...

随机推荐

  1. PopupMenu-使用实例跟监听事件

    今天需要给一个控件添加弹出菜单功能.就顺便学习了下popupMenu的使用,记录下来. 它的使用其实也非常的简单,看如下代码 popupMenu = new PopupMenu(MainActivit ...

  2. 缓存函数memorize

    function mulity(x){ return x*x; } function memorize(f){ var cache = {}; var key = arguments.length + ...

  3. vuejs实现表格分页

    http://www.cnblogs.com/landeanfen/p/6054654.html#_label3_8 <html xmlns="http://www.w3.org/19 ...

  4. Kinect 开发 —— 语音识别(下)

    使用定向麦克风进行波束追踪 (Beam Tracking for a Directional Microphone) 可以使用这4个麦克风来模拟定向麦克风产生的效果,这个过程称之为波束追踪(beam ...

  5. java(面向对象 )

    java面向对象的语言 对象:真实存在唯一的事物. 类:实际就是对某种类型事物的共性属性与行为的抽取. 面向对象的计算机语言核心思想: 找适合的对象做适合的事情. 如何找适合的对象: 1.sun已经定 ...

  6. 类名引用static变量好处

    不仅强调了变量static的结构,而且在有些情况下他还为编译器进行优化提供了更好的机会.

  7. 使用缓存Memcache存储更新微信access token

    关键字:Memcache access_token 更新 存储 7200 本文介绍如何使用缓存Memcache存储及更新 access token的方法. 一.Access Token access_ ...

  8. BIND View 加速南北方网络互访

            BIND View 加速南北方网络互访          南北方网络互访的问题一直以来就是广大运维人员的心病,两大网络运营商之间的连接带宽比较有限,跟不上互联网业务发展的速度.如何才能 ...

  9. 数组&对象

    一.遍历数组的几种方式   var arr = [1,2,3]; Array.prototype.test=function(){} arr.name='jq'   1. for  /* * inde ...

  10. Docker 搭建java+tomcat

    1. 准备java和tomcat的软件包 jdk-7u79-linux-x64.tar.gz apache-tomcat-7.0.57.tar.gz 2. 编辑Dockerfile 文件 vim Do ...