博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JQuery IE8 找不到getContext属性,兼容性问题
阅读量:4963 次
发布时间:2019-06-12

本文共 2286 字,大约阅读时间需要 7 分钟。

我做了一个二维码的一个签到功能

通过JQuery来生成二维码

但是没想到在IE9,10 以上都没有问题

然后客户的机子上竟然是IE8,

还好找到了问题

在IE8  下js报错  getContext 找不到、

解决方案:修改jquery.qrcode.min.js

源码:

h = r.extend({}, {            render: "canvas",            width: 256,            height: 256,            typeNumber: -1,            correctLevel: 2,            background: "#ffffff",            foreground: "#000000"        }, h);

 将

render 的值改为 table
if ("canvas" == h.render) {                a = new o(h.typeNumber, h.correctLevel);                a.addData(h.text);                a.make();                var c = document.createElement("canvas");                c.width = h.width;                c.height = h.height;                for (var d = c.getContext("2d"), b = h.width / a.getModuleCount(), e = h.height / a.getModuleCount(), f = 0; f < a.getModuleCount(); f++)                    for (var i = 0; i < a.getModuleCount(); i++) {                        d.fillStyle = a.isDark(f, i) ? h.foreground : h.background;                        var g = Math.ceil((i + 1) * b) - Math.floor(i * b),                            j = Math.ceil((f + 1) * b) - Math.floor(f * b);                        d.fillRect(Math.round(i * b), Math.round(f * e), g, j)                    }            } else {                a = new o(h.typeNumber, h.correctLevel);                a.addData(h.text);                a.make();                c = r("
").css("width", h.width + "px").css("height", h.height + "px").css("border", "0px").css("border-collapse", "collapse").css("background-color", h.background); d = h.width / a.getModuleCount(); b = h.height / a.getModuleCount(); for (e = 0; e < a.getModuleCount(); e++) { f = r("").css("height", b + "px").appendTo(c); for (i = 0; i < a.getModuleCount(); i++) r("").css("width", d + "px").css("background-color", a.isDark(e, i) ? h.foreground : h.background).appendTo(f) } }

 大家可以看到代码:若 render 的值为canvas,那么则会调用getContext ,那么IE8会出错,

所以我们这里使用table

当然,更改为table 之后,需要修改修改样式,否则会很难看...

#code,#code table{text-align:center;margin:0 auto}    #code table,#code th,#code td{font-size:1px;overflow: hidden;padding:0}

 code  为二维码所放至的div的 id

 

 

谢谢

 

 

 

 

 

 

转载于:https://www.cnblogs.com/lizhiyan-world/p/6925187.html

你可能感兴趣的文章
mysql数据库中数据类型
查看>>
Fireworks基本使用
查看>>
两台电脑间的消息传输
查看>>
Linux 标准 I/O 库
查看>>
.net Tuple特性
查看>>
Java基础常见英语词汇
查看>>
iOS并发编程笔记【转】
查看>>
08号团队-团队任务5:项目总结会
查看>>
SQL2005 删除空白行null
查看>>
mysql备份与恢复
查看>>
混沌分形之迭代函数系统(IFS)
查看>>
边框圆角Css
查看>>
使用Busybox制作根文件系统
查看>>
jpg图片在IE6、IE7和IE8下不显示解决办法
查看>>
delphi之模糊找图
查看>>
Javascript模块化编程的写法
查看>>
oracle 使用job定时自动重置sequence
查看>>
集成百度推送
查看>>
在项目中加入其他样式
查看>>
OMAPL138学习----DSPLINK DEMO解析之SCALE
查看>>