ie导出excel是html文件路径,导出HTML到Excel中的IE11 - “拒绝访问”

我需要导出HTML报告在各种不同的浏览器到Excel(仅最好在客户端上)。我已经花了很多时间来解决这个问题,并且我正在为IE10 +和FF/Chrome开发针对浏览器的解决方案。我正在寻求一种跨浏览器的解决方案,因为我对浏览器特定的代码感到畏惧。导出HTML到Excel中的IE11 - “拒绝访问”

var saveData = (function() {

var a = document.createElement("a");

document.body.appendChild(a);

a.style = "display: none";

return function (data, fileName) {

var html = data,

blob = new Blob([html], { type: "text/xml" }),

url = window.URL.createObjectURL(blob);

a.href = url;

a.download = fileName;

a.click();

window.URL.revokeObjectURL(url);

};

}());

var fileName = "download.xls"

saveData($('#TablesContainer').html(), fileName);

该解决方案是工作在FF/Chrome和IE中的大部分工作,但我得到的a.click()执行以下错误:“SCRIPT5:访问被拒绝。”我在IE11中以编程方式触发点击事件之前,所以我不知道它为什么拒绝执行。它是否与XSS安全性有关的文件下载或什么?

请不要用回应:因为他们不是跨浏览器兼容“window.open(‘数据应用......’)”的解决方案或navigator.msSaveBlob()解决方案。

最坏的情况,我刚刚离开了特定浏览器的代码,但希望有我还没有看到一个解决方案或思路。

谢谢你们!

2016-01-08

mhodges

+1

为什么不直接使用FileSaver.js?或者你在为自己的体验滚动自己的解决方案 –

+0

我已经看过FileSaver.js。说实话,我们的项目非常庞大,所以我尽量避免在库之后添加库。特别是因为这个问题在我们的应用程序中是一个非常小的用例。如果没有使用第三方库有一个简单的解决方案,它将是首选。否则我肯定会对它开放。 –

+1

IE浏览器有相当沉重的安全,在锚隐藏触发点击是不,不,但这是一个非的问题,因为IE不支持锚标记上的下载属性。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值