解决jQuery.table2excel.js导出兼容IE问题
2018-02-07 12:53
127 查看
解决jQuery.table2excel.js导出兼容IE问题
之前在网上一直没找到解决办法,或者并无相关参考。所以自己进插件源码边调试边修改,终于功夫不负有心人。
在table2Excel.js里面有这个一段判断是IE浏览器的代码
if (typeof msie !== "undefined" && msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer
一般在else里面的就是Google浏览器什么的了。
当然,在这段代码之前是一系列的设置表头xlm标签和取值一类的事情,但是在关键导出的地方识别浏览器,根据不同的浏览器来做不一样的一系列操作,相关数据的封装。
当用IE的时候,自然要用到Blob然后是window.navigator.msSaveBlob这个函数,因为在调试的时候发现IE里面不认占位符的
方式来替代table值,所以导出的Excel文件总是一个{table0}这就是一个占位符,这时我们就需要去前面相关的位置获取table值,
然后在 var blob = new Blob(full, { type: "text/html" });这段代码之前把full里面的{table0}这个占位符替换成前面取到的值,
(说明一下:这个值就是导出的数据,就是一个table)然后在封装成一个Array传入var
blob = new Blob(full, { type: "text/html" });
(这个full就是一个Array)这样就解决了IE兼容性问题。可以试试
这个就是取值的地方,需要根据自己的里面的代码情况来。
希望能帮到你们!
之前在网上一直没找到解决办法,或者并无相关参考。所以自己进插件源码边调试边修改,终于功夫不负有心人。
在table2Excel.js里面有这个一段判断是IE浏览器的代码
if (typeof msie !== "undefined" && msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer
一般在else里面的就是Google浏览器什么的了。
当然,在这段代码之前是一系列的设置表头xlm标签和取值一类的事情,但是在关键导出的地方识别浏览器,根据不同的浏览器来做不一样的一系列操作,相关数据的封装。
当用IE的时候,自然要用到Blob然后是window.navigator.msSaveBlob这个函数,因为在调试的时候发现IE里面不认占位符的
方式来替代table值,所以导出的Excel文件总是一个{table0}这就是一个占位符,这时我们就需要去前面相关的位置获取table值,
然后在 var blob = new Blob(full, { type: "text/html" });这段代码之前把full里面的{table0}这个占位符替换成前面取到的值,
(说明一下:这个值就是导出的数据,就是一个table)然后在封装成一个Array传入var
blob = new Blob(full, { type: "text/html" });
(这个full就是一个Array)这样就解决了IE兼容性问题。可以试试
这个就是取值的地方,需要根据自己的里面的代码情况来。
希望能帮到你们!
相关文章推荐
- 关于IE兼容问题
- 图片上传并预览(IE,火狐浏览器兼容问题)
- 一行代码轻松搞定各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
- Js 关于console 在IE 下的兼容问题
- 一行代码解决各种IE兼容问题
- js 处理 ie和firefox window.frames 兼容问题
- js倒计时以及ie兼容问题
- IE的兼容问题
- flash 嵌入网页,与IE, FF,傲游兼容问题
- [IE技巧] IE8 网页兼容问题报告工具
- js导出table到excel,同时兼容FF和IE
- 原生Js在各大浏览器上、火狐、ie、谷歌、360等出现的不兼容问题。
- IE与FireFox的JavaScript兼容问题解决办法
- JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
- getElementsByName 在ie不同版本下的兼容问题
- swfobject.js IE兼容问题
- favicon在IE和非IE浏览器上的兼容问题及其解决
- js异步与解决Promise IE兼容问题
- 一行代码轻松搞定各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
- 滤镜-FireFox火狐浏览器与IE兼容问题