什麼是 QRCode.js? QRCode.js 是一個用於生成二維碼的 JavaScript 庫。主要是通過獲取 DOM 的標簽,再通過 HTML5 Canvas 繪製而成,不依賴任何庫。 基本用法 載入 JavaScript 文件 <script type="text/javascript" s ...
什麼是 QRCode.js?
QRCode.js 是一個用於生成二維碼的 JavaScript 庫。主要是通過獲取 DOM 的標簽,再通過 HTML5 Canvas 繪製而成,不依賴任何庫。
基本用法
載入 JavaScript 文件
<script type="text/javascript" src="http://static.runoob.com/assets/qrcode/qrcode.min.js"></script>
DOM結構
<div id="qrcode"></div>
JavaScropt調用
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
//簡單形式 new QRCode(document.getElementById("qrcode"), "http://www.runoob.com"); // 設置要生成二維碼的鏈接 // 設置參數方式 var qrcode = new QRCode("test", { text: "http://www.runoob.com", width: 128, height: 128, colorDark : "#000000", colorLight : "#ffffff", correctLevel : QRCode.CorrectLevel.H }); // 使用 API qrcode.clear(); qrcode.makeCode('new content');View Code
參數說明
new QRCode(element, option)
名稱 | 預設值 | 說明 |
---|---|---|
element | - | 顯示二維碼的元素或該元素的 ID |
option | 參數配置 |
option 參數說明
名稱 | 預設值 | 說明 |
---|---|---|
width | 256 | 圖像寬度 |
height | 256 | 圖像高度 |
colorDark | "#000000" | 前景色 |
colorLight | "#ffffff" | 背景色 |
correctLevel | QRCode.CorrectLevel.L | 容錯級別,可設置為:
QRCode.CorrectLevel.L QRCode.CorrectLevel.M QRCode.CorrectLevel.Q QRCode.CorrectLevel.H |
API 介面
名稱 | 說明 |
---|---|
makeCode(text) | 設置二維碼內容 |
clear() | 清除二維碼。(僅在不支持 Canvas 的瀏覽器下有效) |
瀏覽器支持
支持該庫的瀏覽器有:IE6~10, Chrome, Firefox, Safari, Opera, Mobile Safari, Android, Windows Mobile, 等。
實例代碼
HTML 代碼
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<input id="text" type="text" value="http://www.runoob.com" /><br /> <div id="qrcode"></div>View Code
CSS 代碼
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#qrcode { width:160px; height:160px; margin-top:15px; }View Code
JavaScript 代碼
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
var qrcode = new QRCode("qrcode"); function makeCode () { var elText = document.getElementById("text"); if (!elText.value) { alert("Input a text"); elText.focus(); return; } qrcode.makeCode(elText.value); } makeCode(); $("#text"). on("blur", function () { makeCode(); }). on("keydown", function (e) { if (e.keyCode == 13) { makeCode(); } });View Code
HTML完整代碼
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko"> <head> <title>Javascript 二維碼生成庫:QRCode</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" /> <script type="text/javascript" src="http://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script> <script type="text/javascript" src="http://static.runoob.com/assets/qrcode/qrcode.min.js"></script> </head> <body> <input id="text" type="text" value="http://www.runoob.com" style="width:80%" /><br /> <div id="qrcode" style="width:100px; height:100px; margin-top:15px;"></div> <script type="text/javascript"> var qrcode = new QRCode(document.getElementById("qrcode"), { width : 100, height : 100 }); function makeCode () { var elText = document.getElementById("text"); if (!elText.value) { alert("Input a text"); elText.focus(); return; } qrcode.makeCode(elText.value); } makeCode(); $("#text"). on("blur", function () { makeCode(); }). on("keydown", function (e) { if (e.keyCode == 13) { makeCode(); } }); </script> </body> </html>View Code