前言:

最近有个这样的需求,在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. FocusChange-焦点变化监听事件

    想要监听一个控件的焦点变化情况,发现了一个 view.setOnFocusChangeListener(new OnFocusChangeListener() { ...... } 现在写一个小dem ...

  2. 84.friend友元类

    #include <iostream> using namespace std; //友元函数的主要作用就是访问私有变量 class myclass { public: friend cl ...

  3. 「HAOI2016」字符合并

    「HAOI2016」字符合并 题意: ​ 有一个长度为\(n\)的\(01\)串,你可以每次将相邻的\(k\)个字符合并,得到一个新的字符并获得一定分数.得到的新字符和分数由这\(k\)个字符确定.你 ...

  4. 解决Not allowed to load local resource

    在做视频上传的时候,发现Not allowed to load local resource,也弄了很久,怕自己忘记了所以记下来 bind: function() { SelectVideo.on(& ...

  5. FZU 1921 栀子花开

    栀子花开 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on FZU. Original ID: 19216 ...

  6. hdu2768Cat vs. Dog (反建法,最大独立集)

    Cat vs. Dog Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...

  7. Java7与G1

    Lucene 4.8開始不支持java6了,所以在下次版本号升级之前我们要先升级至java7. 我使用1/3的全量索引(7.3G).进行測试,20并发,40万请求: sun jdk 1.6.0_26 ...

  8. ubuntu终端sudo java提示“command not found”解决办法

    我在ubuntu 12.04里想启动一个java程序,sudo java -jar xxx.jar,但是结果提示sudo:java:command not found. Ubuntu下用sudo运行j ...

  9. mk-编译信息的意义

    今天第一次看Android.mk文件,内容如下 # Copyright 2007-2008 The Android Open Source Project 2 3 LOCAL_PATH:= $(cal ...

  10. 65.十一级指针实现百万qq号的增删查改以及排序写入

    运行结果: 内存使用情况: 写入文件排序好的数据: 创建文件地址以及创建十一级指针 char *path = "QQ.txt"; char *sortpath = "QQ ...