qrcode length overflow (1632>1056)--qrcode.js使用过程中二维码长度溢出解决办法
近日在开发过程中需要为页面动态生成一个二维码信息,由于这个二维码中包含了很多文字,字母以及符号,测试过程中发现有些二维码会报错,因为二维码内容太多了,没办法显示。后来在GitHub中找到了解决办法。
这是源码中修改前的内容:
make:function(){this.makeImpl(false,this.getBestMaskPattern());}
QRCode.prototype.makeCode = function (sText) {
        this._oQRCode = new QRCodeModel(_getTypeNumber(sText, this._htOption.correctLevel), this._htOption.correctLevel);
        this._oQRCode.addData(sText);
        this._oQRCode.make();
        this._el.title = sText;
        this._oDrawing.draw(this._oQRCode);
        this.makeImage();
    };
这是修改后的内容:
make:function(){
if(this.typeNumber<1){
var typeNumber = 1;
for (typeNumber = 1;typeNumber<40;typeNumber++){
var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);
var buffer = new QRBitBuffer();var totalDataCount = 0;
for(var i=0;i<rsBlocks.length;i++) {
  totalDataCount+=rsBlocks[i].dataCount;
}
for (var i = 0; i < this.dataList.length; i++) {
  var data = this.dataList[i];
  buffer.put(data.mode, 4);
  buffer.put(data.getLength(), QRUtil.getLengthInBits(data.mode, typeNumber));
  data.write(buffer);}
if (buffer.getLengthInBits() <= totalDataCount * 8)break;}
  this.typeNumber = typeNumber;
}
QRCode.prototype.makeCode = function (sText) {
    this._oQRCode = new QRCodeModel(-1, this._htOption.correctLevel);
    this._oQRCode.addData(sText);
    this._oQRCode.make();
    this._el.title = sText;
    this._oDrawing.draw(this._oQRCode);
    this.makeImage();
};
qrcode length overflow (1632>1056)--qrcode.js使用过程中二维码长度溢出解决办法的更多相关文章
- Uncaught Error: code length overflow. (1604>1056)
		
解决方法来源~~~https://blog.csdn.net/arrowzz/article/details/80656510 二维码生成时,如果长度太长会有异常: Uncaught Error: c ...
 - JS.中文乱码,Jsp\Servlet端的解决办法
		
JS.中文乱码,Jsp\Servlet端的解决办法 2010-03-08 15:18:21| 分类: Extjs | 标签:encodeuricomponent 乱码 urldecoder ...
 - 运行js提示库没有注册错误8002801d的解决办法
		
运行js提示库没有注册错误8002801d的解决办法这个错误主要是因为服务器上的windows scripts版本较低,请按下面的链接下载较高版本windows scripts 5.6并在服务器上进行 ...
 - Eclipse中js文件修改后浏览器不能及时更新的解决办法
		
项目中js文件修改后浏览器不能及时更新的解决办法 转载:http://www.codeweblog.com/%E9%A1%B9%E7%9B%AE%E4%B8%ADjs%E6%96%87%E4%BB%B ...
 - qrcode length overflow 生成二维码网址长度溢出解决办法
		
QRCode.js is javascript library for making QRCode. QRCode.js supports Cross-browser with HTML5 Canva ...
 - JS 调试中常见的报错的解决办法
		
报错:Uncaught SyntaxError: Unexpected token o in JSON at position 1 at JSON.parse (<anonymous>) ...
 - 搞懂js中小数运算精度问题原因及解决办法
		
js小数运算会出现精度问题 js number类型 JS 数字类型只有number类型,number类型相当于其他强类型语言中的double类型(双精度浮点型),不区分浮点型和整数型. number类 ...
 - 关于js浮点数计算精度不准确问题的解决办法
		
今天在计算商品价格的时候再次遇到js浮点数计算出现误差的问题,以前就一直碰到这个问题,都是简单的使用tofixed方法进行处理一下,这对于一个程序员来说是及其不严谨的.因此在网上收集了一些处理浮点数精 ...
 - ASP.NET后台JS弹框使前台页面样式丢失 解决办法
		
Response.Write("<script>alert('您还没有上传相关图片!');</script>");是向前台输出js 应该用下面的方法 Cli ...
 
随机推荐
- Mongo可视化工具基本操作
			
一.可视化工具界面(字段名可以不加引号) 二.查询(query)1.日期如:"F1":ISODate("2017-07-26T16:00:00Z")2.条件(& ...
 - session和cookie(2)
			
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
 - Python 查看本机WiFi密码
			
http://www.lijiejie.com/python-get-all-saved-wifi-passwords/ 很早以前我写过一个,丢了. 今天偶然看到这篇文章 , 也是很久以前写的,他用 ...
 - 【原】SQLPLUS支持上下翻页
			
作者:david_zhang@sh [转载时请以超链接形式标明文章] 链接:http://www.cnblogs.com/david-zhang-index/p/4191650.html 适用:RHE ...
 - day12Session案例 JSP
			
2 Session案例 用户登录场景 package gz.itcast; import java.io.IOException; import java.io.PrintWriter; import ...
 - js中的"=="和equals()以及is()三者的区别
			
在 javaScript或者jQuery中字符串比较没有equals()方法,要比较两个字符串是否相等可以直接用==或者is()进行判断. 例如: "a"=="a&quo ...
 - 数据库路由中间件MyCat - 使用篇(4)
			
此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 配置MyCat 3. 配置conf/rule.xml 1.5GA版本中的规则配置比较笨,2.0中优化了一些, ...
 - [openjudge] 2797最短前缀 Trie
			
描述 一个字符串的前缀是从该字符串的第一个字符起始的一个子串.例如 "carbon"的字串是: "c", "ca", "car&q ...
 - html解决的兼容问题
			
手机版不缩放 <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum ...
 - [UE4]C++实现动态加载的问题:LoadClass()和LoadObject()
			
http://aigo.iteye.com/blog/2281558 原文作者:@玄冬Wong 相关内容:C++静态加载问题:ConstructorHelpers::FClassFinder()和FO ...