Heim >Web-Frontend >js-Tutorial >Verwenden Sie die JQuery-Komponente qrcode, um QR-Code und Anwendungsguide_jquery zu generieren

Verwenden Sie die JQuery-Komponente qrcode, um QR-Code und Anwendungsguide_jquery zu generieren

WBOY
WBOYOriginal
2016-05-16 16:13:281535Durchsuche

Es gibt einige CPU-verbrauchende Berechnungen, die auf dem Client berechnet werden können, beispielsweise das Generieren von QR-Codes.

qrcode berechnet tatsächlich und verwendet dann jquery, um das Rendern und Zeichnen von Grafiken zu erreichen. Unterstützt Canvas- und Tabellenmethoden zum Generieren des benötigten QR-Codes.

Spezifische Verwendung
qrcode ist eine jquery-Komponente und erfordert mindestens zwei js, nämlich jquery und jquery.qrcode. Sie können zu https://github.com/jeromeetienne/jquery-qrcode gehen, um den neuesten Code zu erhalten.

Code kopieren Der Code lautet wie folgt:



Fügen Sie auf der Seite ein leeres Element hinzu (verwenden Sie hier div), wo der QR-Code angezeigt werden soll

Code kopieren Der Code lautet wie folgt:


Wenn Sie einen QR-Code generieren müssen, rufen Sie die Anweisung auf, um ihn direkt zu generieren.

Code kopieren Der Code lautet wie folgt:

$("#qrcode").qcrode("http://www.jb51.net");//Die Seite, die generiert werden muss

Detaillierte Parameter

Parameter-Standardwertbeschreibung
Render-Canvas-Rendering-Methode, unterstützt Canvas und Table
Breite Keine Breite
Höhe Keine Höhe
Text Keine URL muss generiert werden

Zum Beispiel:

Code kopieren Der Code lautet wie folgt:

$("#qrcode").qcrode({
rendern: „Tabelle“,
Breite: 200,
Höhe: 200,
Text: „http://www.jb51.net
});

So lösen Sie das Problem der chinesischen Schriftzeichen in der URL

Während des Experiments haben wir festgestellt, dass der QR-Code mit chinesischen Inhalten nicht erkannt werden konnte. Durch die Suche nach verschiedenen Informationen haben wir erfahren, dass jquery-qrcode die Methode charCodeAt() zur Codierungskonvertierung verwendet. Diese Methode erhält standardmäßig ihre Unicode-Codierung. Wenn chinesischer Inhalt vorhanden ist, muss die Zeichenfolge vor der Generierung des QR-Codes in UTF-8 konvertiert und anschließend der QR-Code generiert werden. Sie können chinesische Zeichenfolgen mit den folgenden Funktionen konvertieren:

Code kopieren Der Code lautet wie folgt:

Funktion 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));   
        }   
    }   
    zurückkommen;   
}

下载二维码

用前端画出来的二维码, 不是一个canvas就是一个table, 如何下载呢?我们只需要将canvas的内容画到image上,下载下来即可.

复制代码 代码如下:

Funktion download(canvasElem, filename, imageType) {
    var event, saveLink, imageData, defalutImageType;
    defalutImageType = 'png';//定义默认图片类型
    imageData = canvasElem.toDataURL(imageType || defalutImageType);//将canvas元素转化为image data
    saveLink = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
    saveLink.href = imageData;
    saveLink.download = Dateiname;
    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中的简单封装

在angular中使用,可以封装成directive.不过要确保已经引入了之前的两个js文件.

复制代码 代码如下:

var appModule = angulaire.module('app', []);
appModule.directive('qrcode', function() {
Retour {
        restreindre : "A",
portée : {
texte : '=',
options : '='
},
         lien : function(scope, elem, attrs) {
          var $elem, options;
             $elem = $(elem);
options = { //Obtenir la largeur et la hauteur de l'élément
               largeur : $elem.width(),
Hauteur : $elem.height()
           };
          angulaire.extend(options, scope.options);
scope.$watch('text', function(newText) {
                if (newText) {
options.text = nouveauText;
                   $(elem).qrcode(options);//Régénérer le code QR
            }
           });
        };
};
});

La méthode de téléchargement peut être encapsulée dans un service en Angular.

Amis, vous pouvez utiliser qrcode pour générer des codes QR, c'est vraiment facile à utiliser.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn