最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用jquery組件qrcode生成二維碼及應(yīng)用指南

 更新時(shí)間:2015年02月22日 09:51:45   投稿:hebedich  
這篇文章主要介紹了使用jquery組件qrcode生成二維碼及應(yīng)用指南,非常全面實(shí)用,需要的朋友可以參考下

有一些耗cpu的計(jì)算,完全可以在客戶端上計(jì)算,比如生成二維碼。

qrcode其實(shí)是通過(guò)計(jì)算,然后使用jquery實(shí)現(xiàn)圖形渲染和畫(huà)圖。支持canvas和table兩種方式生成我們所需的二維碼。

具體用法
qrcode是jquery組件,需要至少兩個(gè)js, 就是 jquery 和 jquery.qrcode??梢缘?a >https://github.com/jeromeetienne/jquery-qrcode獲取最新的代碼。

復(fù)制代碼 代碼如下:

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

在頁(yè)面上,需要顯示二維碼的地方加入一個(gè)空元素(此處用div)

復(fù)制代碼 代碼如下:

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

在需要生成二維碼的時(shí)候,調(diào)用一下語(yǔ)句直接生成。

復(fù)制代碼 代碼如下:

$("#qrcode").qcrode("http://m.fzitv.net");//需要生成的頁(yè)面

詳細(xì)參數(shù)

參數(shù) 默認(rèn)值 說(shuō)明
render canvas 渲染方式,支持canvas和table
width 無(wú) 寬度
height 無(wú) 高度
text 無(wú) 需要生成的url
 
如:

復(fù)制代碼 代碼如下:

$("#qrcode").qcrode({
    render: "table",
    width: 200,
    height: 200,
    text: "http://m.fzitv.net"
});

解決url中有中文方法

我們?cè)囼?yàn)的時(shí)候發(fā)現(xiàn)不能識(shí)別中文內(nèi)容的二維碼,通過(guò)查找多方資料了解到,jquery-qrcode是采用charCodeAt()方式進(jìn)行編碼轉(zhuǎn)換的。而這個(gè)方法默認(rèn)會(huì)獲取它的Unicode編碼,如果有中文內(nèi)容,在生成二維碼前就要把字符串轉(zhuǎn)換成UTF-8,然后再生成二維碼。您可以通過(guò)以下函數(shù)來(lái)轉(zhuǎn)換中文字符串:

復(fù)制代碼 代碼如下:

function toUtf8(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;   
}

下載二維碼

用前端畫(huà)出來(lái)的二維碼,不是一個(gè)canvas就是一個(gè)table,如何下載呢?我們只需要將canvas的內(nèi)容畫(huà)到image上,下載下來(lái)即可。

復(fù)制代碼 代碼如下:

function download(canvasElem, filename, imageType) {
    var event, saveLink, imageData, defalutImageType;
    defalutImageType = 'png';//定義默認(rèn)圖片類型
    imageData = canvasElem.toDataURL(imageType || defalutImageType);//將canvas元素轉(zhuǎn)化為image data
    saveLink = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
    saveLink.href = imageData;
    saveLink.download = filename;
    event = document.createEvent('MouseEvents');
    event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
    saveLink.dispatchEvent(event);
};

在angular中的簡(jiǎn)單封裝

在angular中使用,可以封裝成directive。不過(guò)要確保已經(jīng)引入了之前的兩個(gè)js文件。

復(fù)制代碼 代碼如下:

var appModule = angular.module('app', []);
appModule.directive('qrcode', function() {
    return {
        restrict: "A",
        scope: {
          text    : '=',
          options : '='
        },
        link: function(scope, elem, attrs) {
          var $elem, options;
          $elem = $(elem);
          options = { //獲取元素的寬度和高度
            width: $elem.width(),
            height: $elem.height()
          };
          angular.extend(options, scope.options);
          scope.$watch('text', function(newText) {
            if (newText) {
              options.text = newText;
              $(elem).qrcode(options);//重新生成二維碼
            }
          });
        };
    };
});

下載的方法在angular中可以封裝成一個(gè)service使用。

小伙伴們會(huì)使用qrcode生成二維碼了吧,確實(shí)很好用,希望大家能夠喜歡。

相關(guān)文章

  • jquery 設(shè)置style:display的方法

    jquery 設(shè)置style:display的方法

    這篇文章主要介紹了jquery 設(shè)置style:display的方法,需要的朋友可以參考下
    2015-01-01
  • jquery操作checkbox示例分享

    jquery操作checkbox示例分享

    這篇文章主要介紹了jquery操作checkbox,需要的朋友可以參考下
    2014-07-07
  • jquery無(wú)限級(jí)聯(lián)下拉菜單簡(jiǎn)單實(shí)例演示

    jquery無(wú)限級(jí)聯(lián)下拉菜單簡(jiǎn)單實(shí)例演示

    這篇文章主要向大家推薦了一個(gè)jquery無(wú)限級(jí)聯(lián)下拉菜單簡(jiǎn)單實(shí)例演示,感興趣的小伙伴們可以參考一下
    2015-11-11
  • jQuery窗口、文檔、網(wǎng)頁(yè)各種高度的精確理解

    jQuery窗口、文檔、網(wǎng)頁(yè)各種高度的精確理解

    這篇文章主要幫助大家快速理解jQuery瀏覽器窗口、網(wǎng)頁(yè)文檔及可視窗口的各種高度,需要的朋友可以參考下
    2014-07-07
  • jQuery 圖片查看器插件 Viewer.js用法簡(jiǎn)單示例

    jQuery 圖片查看器插件 Viewer.js用法簡(jiǎn)單示例

    這篇文章主要介紹了jQuery 圖片查看器插件 Viewer.js用法,結(jié)合簡(jiǎn)單示例形式分析了jQuery 圖片查看器插件 Viewer.js的基本功能、調(diào)用方法及后臺(tái)數(shù)據(jù)調(diào)用處理技巧,需要的朋友可以參考下
    2020-04-04
  • jQuery Chart圖表制作組件Highcharts用法詳解

    jQuery Chart圖表制作組件Highcharts用法詳解

    這篇文章主要介紹了jQuery Chart圖表制作組件Highcharts用法,詳細(xì)分析了Highcharts插件的功能與具體使用技巧及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-06-06
  • javascript/jquery實(shí)現(xiàn)點(diǎn)擊觸發(fā)事件的方法分析

    javascript/jquery實(shí)現(xiàn)點(diǎn)擊觸發(fā)事件的方法分析

    這篇文章主要介紹了javascript/jquery實(shí)現(xiàn)點(diǎn)擊觸發(fā)事件的方法,結(jié)合具體實(shí)例形式分析了JavaScript與jQuery針對(duì)點(diǎn)擊按鈕觸發(fā)事件的相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下
    2019-11-11
  • JQuery?AJAX操作代碼

    JQuery?AJAX操作代碼

    jQuery底層AJAX實(shí)現(xiàn),其返回其創(chuàng)建的XMLHttpRequest對(duì)象,大多數(shù)情況下無(wú)需直接操作該函數(shù),除非需要操作不常用的選項(xiàng),以獲得更多的靈活性,這篇文章給大家介紹JQuery AJAX操作代碼,感興趣的朋友一起看看吧
    2022-12-12
  • jquery 循環(huán)顯示div的示例代碼

    jquery 循環(huán)顯示div的示例代碼

    我們用一個(gè)語(yǔ)句就讓下面五個(gè)div顯示成功,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下
    2013-10-10
  • jQuery AJAX與jQuery事件的分析講解

    jQuery AJAX與jQuery事件的分析講解

    今天小編就為大家分享一篇關(guān)于jQuery AJAX與jQuery事件的分析講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02

最新評(píng)論

乌鲁木齐县| 定陶县| 化德县| 夏津县| 深水埗区| 合阳县| 保亭| 沧州市| 石棉县| 兴海县| 台东县| 中阳县| 凤山县| 大埔县| 永德县| 清水河县| 呼伦贝尔市| 柏乡县| 比如县| 白河县| 张掖市| 社旗县| 库车县| 武强县| 通渭县| 盱眙县| 杂多县| 垣曲县| 手机| 枣强县| 临澧县| 南宁市| 福海县| 理塘县| 资中县| 大城县| 长沙市| 墨江| 巍山| 丹东市| 苍溪县|