layui 表格导出兼容 IE

修改一


修改

r.ie ? l.tips("导出功能不支持 IE,请用 Chrome 等高级浏览器导出", this, {tips: 3}) :

/*r.ie ? l.tips("导出功能不支持 IE,请用 Chrome 等高级浏览器导出", this, {tips: 3}) : */

修改二


修改

d.exportFile = function (e, t, i) {
    t = t || d.clearCacheKey(d.cache[e]), i = i || "csv";
    var a = c.config[e] || {}, l = {csv: "text/csv", xls: "application/vnd.ms-excel"}[i],
        n = document.createElement("a");
    return r.ie ? o.error("IE_NOT_SUPPORT_EXPORTS") : (n.href = "data:" + l + ";charset=utf-8,\ufeff" + encodeURIComponent(function () {
      var i = [], a = [];
      return layui.each(t, function (t, l) {
        var n = [];
        "object" == typeof e ? (layui.each(e, function (e, a) {
          0 == t && i.push(a || "")
        }), layui.each(d.clearCacheKey(l), function (e, t) {
          n.push(t)
        })) : d.eachCols(e, function (e, a) {
          a.field && "normal" == a.type && !a.hide && (0 == t && i.push(a.title || ""), n.push(l[a.field]))
        }), a.push(n.join(","))
      }), i.join(",") + "\r\n" + a.join("\r\n")
    }()), n.download = (a.title || "table_" + (a.index || "")) + "." + i, document.body.appendChild(n), n.click(), void document.body.removeChild(n))
  }

d.exportFile = function (e, t, i) {
    t = t || d.clearCacheKey(d.cache[e]), i = i || "csv";
    var a = c.config[e] || {},  // 分页按钮
        l = {csv: "text/csv", xls: "application/vnd.ms-excel"}[i], // meta格式
        n = document.createElement("a"), // a 标签
        type = i,
        meta = l,
        title = a.title;
    if (r.ie) {
      var i = [], a = [];
      layui.each(t, function (t, l) {
        var n = [];
        "object" == typeof e ? (layui.each(e, function (e, a) {
          0 == t && i.push(a || "")
        }), layui.each(d.clearCacheKey(l), function (e, t) {
          n.push(t)
        })) : d.eachCols(e, function (e, a) {
          a.field && "normal" == a.type && !a.hide && (0 == t && i.push(a.title || ""), n.push(l[a.field]))
        }), a.push(n.join(","))
      });
      var data = i.join(",") + "\r\n" + a.join("\r\n")
      navigator.msSaveBlob(new Blob(['\ufeff' + data], {type: meta + ';charset=utf-8;'}), title + '.' + type)
    } else {
      return n.href = "data:" + l + ";charset=utf-8,\ufeff" + encodeURIComponent(function () {
        var i = [], a = [];
        return layui.each(t, function (t, l) {
          var n = [];
          "object" == typeof e ? (layui.each(e, function (e, a) {
            0 == t && i.push(a || "")
          }), layui.each(d.clearCacheKey(l), function (e, t) {
            n.push(t)
          })) : d.eachCols(e, function (e, a) {
            a.field && "normal" == a.type && !a.hide && (0 == t && i.push(a.title || ""), n.push(l[a.field]))
          }), a.push(n.join(","))
        }), i.join(",") + "\r\n" + a.join("\r\n")
      }()), n.download = (a.title || "table_" + (a.index || "")) + "." + i, document.body.appendChild(n), n.click(), void document.body.removeChild(n)
    }}

只兼容 IE 10 以上哦

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,924评论 1 11
  • 1. 默认的内外边距不同 问题: 各个浏览器默认的内外边距不同 解决: *{margin:0;padding:0;...
    jslxm阅读 4,308评论 0 2
  • CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与F...
    心淡然如水阅读 4,988评论 0 0
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 7,414评论 0 7
  • 原创来源 \ 仰天下健康 编辑 \ 仰小生 本文由【仰天下健康】原创,搜索关注回复“福利”免费领取价值40元的养生...
    wxytx99阅读 1,499评论 0 0

友情链接更多精彩内容