JS調用產生二維碼

來源:互聯網
上載者:User

標籤:style   code   java   c   tar   ext   

       之前一直採用的是java後台調用qrcode.jar的形式產生二維碼,然後web前台展示的形式顯示二維碼,後來感覺如果能調用JS架構產生二維碼的話不久更好。至少能減少與瀏覽器的互動次數,減輕背景壓力。

       搜了一些資料後感覺沒有一個拿來就能用的,至少IE瀏覽器的相容還是有問題,通過自己的調試寫了一個demo.希望能夠協助到大家,為大家節省時間

       具體的demo可以通過http://download.csdn.net/detail/fugui6611634/7337467來下載

 

將一個字串(可以是中文,在產生二維碼圖片之前將中文轉碼)產生二維碼圖片,如果想要帶log的二維碼,可以在產生後的二維碼中間部位自己添加一個小log,log圖片不要太大,不然就掃描不出內容了。

[html] view plaincopyprint?
  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <head>
  3. <title></title>
  4. <script src="js/jquery-1.8.3.js" type="text/javascript"></script>
  5. <script src="js/jquery.qrcode.min.js" type="text/javascript"></script>
  6. <script type="text/javascript">
  7. $(function () {
  8. $("#bt").bind("click", function () {
  9. text = $("#text").val();
  10. $("#div_div").qrcode(utf16to8(text));
  11. })
  12. })
  13. function utf16to8(str) { //轉碼
  14. var out, i, len, c;
  15. out = "";
  16. len = str.length;
  17. for (i = 0; i < len; i++) {
  18. c = str.charCodeAt(i);
  19. if ((c >= 0x0001) && (c <= 0x007F)) {
  20. out += str.charAt(i);
  21. } else if (c > 0x07FF) {
  22. out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
  23. out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
  24. out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
  25. } else {
  26. out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
  27. out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
  28. }
  29. }
  30. return out;
  31. }
  32. </script>
  33. </head>
  34. <body>
  35. <input type="text" id="text" />
  36. <input type="button" value="shengc" id="bt" />
  37. <div id="div_div" style="width:400px;height:400px;border:1px solid #000;"></div>
  38. </body>
  39. </html>
<html xmlns="http://www.w3.org/1999/xhtml"><head>    <title></title>    <script src="js/jquery-1.8.3.js" type="text/javascript"></script>    <script src="js/qrcode.js" type="text/javascript"></script>    <script src="js/jquery.qrcode.js" type="text/javascript"></script>    <script type="text/javascript">        $(function () {            $("#bt").bind("click", function () {                text = $("#text").val();                $("#div_div").qrcode(utf16to8(text));            })        })        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;        }      </script></head><body><input type="text" id="text" /><input type="button" value="shengc" id="bt" /><div id="div_div" style="width:400px;height:400px;border:1px solid #000;"></div></body></html>
 
  1. jQuery(‘#output‘).qrcode({width:200,height:200,correctLevel:0,text:content});
  2. 具體的參數說明參見以下
  1. render : "canvas|table",//設定渲染方式
  2. width : 256, //設定寬度
  3. height : 256, //設定高度
  4. typeNumber : -1, //計算模式
  5. correctLevel : QRErrorCorrectLevel.H,//錯誤修正等級
  6. background : "#ffffff",//背景顏色
  7. foreground : "#000000" //前景顏色

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.