URL轉微信可識別的二維碼

jquery.qrcode.js 是一個能夠在客戶端生成矩陣二維碼QRCode 的jquery插件 ,使用它可以很方便的在頁面上生成二維條碼。 用法:

1、引入jquery.qrcode.min.js

<script src="jquery.min.js"></script>

<script src="jquery.qrcode.min.js"></script>

2、新建一個div:

<div id="qrcode"></div>

3、初始化:

簡單使用:

$("#qrcode").qrcode("https://www.baidu.com/?tn=57095150_6_oem_dg");

直接生成默認的canvas 二維碼

可配置的參數:

$("#qrcode").qrcode({

text        : "https://www.baidu.com/?tn=57095150_6_oem_dg", //url 
render      : "canvas", //設置渲染方式(有兩種方式table和canvas,默認是canvas)   
width       : 256,      //設置寬度    
height      : 256,      //設置高度    
typeNumber  : -1,       //計算模式    
correctLevel    : 0,    //糾錯等級    
background      : "#ffffff", //背景顏色    
foreground      : "#000000"  //前景顏色   
復制代碼

});

4、微信長按識別二維碼

做法就是直接將canvas標簽轉換為img標簽

//從 canvas 提取圖片 image

function convertCanvasToImage(canvas) {

//新建Image對象,可以理解為DOM
var image = new Image();
// canvas.toDataURL 返回的是一串Base64編碼的URL,當然,瀏覽器自己肯定支持
// 指定格式 如PNG
image.src = canvas.toDataURL("image/png");
return image;
復制代碼

}

//獲取網頁中的canvas對象

var mycanvas1=document.getElementsByTagName('canvas')[0];

//將轉換后的img標簽插入到html中

var img=convertCanvasToImage(mycanvas1); $('#qrcode').append(img);//qrcode表示你要插入的容器id

最后效果:

5.常見問題

(1).在chorme瀏覽器中二維碼生成成功后無法掃描解決方法: //改成使用table的渲染方式 jQuery('#qrcode').qrcode({width:200,height:200,correctLevel:0,render:"table",text:"http://blog.csdn.net/mr_smile2014"});
(2).在微信或手機瀏覽器中生成的二維碼無法掃描解決方法; //改成使用默認的渲染方式 jQuery('#qrcode').qrcode({width: 200,height: 200,correctLevel:0,text: "http://blog.csdn.net/mr_smile2014"});

6.jquery.qrcode生成二維碼內容不支持中文

jquery-qrcode這個庫是采用 charCodeAt() 這個方式進行編碼轉換的,這個方法默認會獲取它的 Unicode 編碼,一般的解碼器都是采用UTF-8, ISO-8859-1等方式。

英文是沒有問題,如果是中文,一般情況下Unicode是UTF-16實現,長度2位,而UTF-8編碼是3位,這樣二維碼的編解碼就不匹配了。 解決方式當然是,在二維碼編碼前把字符串轉換成UTF-8,具體代碼如下:

jQuery('#qrcode').qrcode({width: 200,height: 200,correctLevel:0,text: utf16to8("jquery-qrcode不支持中文!")});
function utf16to8(str) {
var out, i, len, c;
out = "";
len = str.length;
for(i = 0; i < len; i++) {
c = str.charCodeAt(i);
if ((c >= 0x0001) && (c <= 0x007F)) {
out += str.charAt(i);
} else if (c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
} else {
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
}
return out;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452281.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452281.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452281.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

javascript數組及操作方法

數組及操作方法 數組就是一組數據的集合&#xff0c;javascript中&#xff0c;數組里面的數據可以是不同類型的。 定義數組的方法 //對象的實例創建 var aList new Array(1,2,3);//直接量創建 var aList2 [1,2,3,asd];操作數組中數據的方法 1、獲取數組的長度&#xff1a;aLi…

如何創建比C語言更快的編程語言?

【CSDN編譯整理】近日&#xff0c;beza1e1上發表了一篇博客《Faster than C》&#xff0c;在Hacker News和Reddit Programming上引發了開發者們的激烈討論。現將此文編譯&#xff0c;我們一起來探討下。 單從編程語言特性來判斷&#xff0c;雖然Fortran語言也以快而著稱&#…

面向對象方法學

面向對象技術強調在軟件開發過程中面向客觀世界或問題域中的事物&#xff0c;采用人類在認識客觀世界的過程中普遍運用的思維方法&#xff0c;直觀、自然地描述客觀世界中的有關事物。 面向對象的分析方法是利用面向對象的信息建模概念&#xff0c;如實體、關系、屬性等&#x…

學成在線--3.CMS頁面管理開發(自定義條件查詢)

文章目錄0.需求分析1.服務端--Dao2.服務端--Service3.服務端--Controller4.前端1&#xff09;page_list.vue中增加查詢表單2&#xff09;page_list.vue中添加數據模型對象3&#xff09;在鉤子方法中構建siteList站點列5.Api調用1&#xff09;修改 cms.js&#xff0c;向服務端傳…

動態生成表格、隱藏表格、選中刪除任意行、jquery、輸入驗證

PS&#xff1a; 游戲公司后臺開發&#xff0c;工作模式&#xff1a;996。 于是寫博客這事也荒廢了.... 想想還是寫一點吧。 呵呵&#xff0c;請不要笑話我注釋寫這么多&#xff0c;習慣了&#xff0c;我上班寫代碼都是有注釋的。 我建兩個相似的表是為了&#xff0c;給后臺使…

安裝 PrestaShop 1.6 - 詳細的安裝指南

2019獨角獸企業重金招聘Python工程師標準>>> 詳細的安裝指南 下載和解壓 PrestaShop 程序代碼包 你可以從 PrestaShop 官方下載最新的版本&#xff0c;下載地址為&#xff1a;http://www.prestashop.com/en/download. 這里你只有一個選項&#xff0c;只能下載最新的…

tinydate.js[v0.3] 新增了字符串格式化為日期對象的函數

更新說明 加入了String類型的擴展成員 convertToDate() 可以直接將 字符串格式的日期轉換為Date對象。加入了String類型的擴展成員 convertToTimeSpan() 可以將 字符串格式的日期轉換為TimeSpan對象。修復了日期格式化為字符串的format函數中的bug。tinydate.js v0.3 Date.prot…

面向對象方法學的四個要點

面向對象方法學的要點面向對象方法學的出發點和基本原則&#xff0c;是盡可能模擬人類習慣的思維方式&#xff0c;使開發軟件的方法與過程盡可能接近人類認識世界解決問題的方法與過程&#xff0c;也就是使描述問題的問題空間(也稱為問題域)與實現解法的解空間(也稱為求解域)在…

學成在線--4.CMS頁面管理開發(新增頁面)

文章目錄1.定義新增頁面接口1&#xff09;在model工程中定義響應模型2&#xff09;在api工程中添加接口2.新增頁面服務端開發1&#xff09;Dao2&#xff09;Service3&#xff09;Controller3.新增頁面前端開發1&#xff09;創建page_add.vue2&#xff09;配置路由3&#xff09;…

嵌套For循環性能優化

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。1 案例描述某日&#xff0c;在JavaEye上看到一道面試題&#xff0c;題目是這樣的&#xff1a;請對以下的代碼進行優化 Java代碼 for (int …

docker-ce安裝

1、安裝 sudo yum -y install docker 2、加入開機自啟systemctl enable docker轉載于:https://www.cnblogs.com/runnerjack/p/8618524.html

python-study-17

復習 上節課復習1、什么是模塊模塊是一系列功能的集合體2、為何用模塊拿來&#xff08;內置或第三方的模塊&#xff09;主義&#xff0c;提升開發效率自定義模塊可以讓程序的各部分組件重用模塊內的功能3、如何用模塊大前提&#xff1a;模塊是被執行文件導入使用&#xff0c;模…

面向對象方法學的優點

1.與人類習慣的思維方法一致面向對象的軟件技術以對象為核心&#xff0c;用這種技術開發出的軟件系統由對象組成。對象是由描述內部狀態表示靜態屬性的數據&#xff0c;以及可以對這些數據施加的操作(對象的動態行為)&#xff0c;封裝在一起所構成的統一體。面向對象的設計方法…

如何學好C語言

我相信&#xff0c;這可能是很多朋友的問題&#xff0c;我以前也有這樣的感覺&#xff0c;編程編到一定的時候&#xff0c;發現能力到了瓶頸&#xff0c;既不深&#xff0c;也不扎實&#xff0c;半吊子。比如&#xff1a;你長期地使用Java和.NET &#xff0c;這些有虛擬機的語言…

學成在線--5.CMS頁面管理開發(修改頁面)

文章目錄1.修改頁面流程1&#xff09;前端邏輯2&#xff09;后端邏輯2.修改頁面接口定義3.后端開發--Dao4.后端開發--Service5.后端開發--Controller1&#xff09;根據id查詢頁面2&#xff09;保存頁面信息6.前端開發--頁面處理流程7.前端開發--編寫page_edit.vue8.前端開發--配…

在樹莓派上播放音頻

https://blog.csdn.net/qinxiandiqi/article/details/39155593轉載于:https://www.cnblogs.com/Baronboy/p/9206164.html

Map四種獲取key和value值的方法,以及對map中的元素排序

2019獨角獸企業重金招聘Python工程師標準>>> 獲取map的值主要有四種方法&#xff0c;這四種方法又分為兩類: 一類是調用map.keySet()方法來獲取key和value的值&#xff0c; 另一類則是通過map.entrySet()方法來取值&#xff0c; 兩者的區別在于&#xff0c;前者主要…

配置Oracle Instant Client環境

1.配置Oracle Instant Client環境 到Oracle官網下載Oracle Instant Client&#xff0c;注意選擇x86平臺&#xff0c;Toad只認32位的Oracle Instant Client。至于版本號&#xff0c;沒有特別要求&#xff0c;版本向下兼容。 桌面上&#xff0c;右鍵點“我的電腦”&#xff0c;選…

學成在線--6.CMS頁面管理開發(刪除頁面)

文章目錄0.刪除用戶邏輯1.刪除頁面接口定義2.后端開發--Dao3.后端開發--Service4.后端開發--controller5.前端開發--page_list.vue添加刪除按鈕6.前端開發--page_list.vue編寫刪除事件7.后端開發--Api方法定義Api方法0.刪除用戶邏輯 1&#xff09;前端邏輯 &#xff08;1&…

諾基亞是“不跟隨”還是跟不上?

在Android和iPhone為主流的環境下&#xff0c;諾基亞用“不跟隨”的口號表明自己欲保持個性&#xff0c;但是否也意味著其固步自封&#xff0c;跟不上時代&#xff1f; 5年市值縮水超900億歐元&#xff0c;全球業績連續4個季度虧損&#xff0c;更為可怕的是&#xff0c;被視為…