火狐不能html转execl,使用Blob无法在FireFox中使用Excel导出JavaScript
我的问题的答案如下所述.
问题是,为了让FireFox对a.click()做出反应并显示它的文件对话框,很快就调用了行window.URL.revokeObjectURL(url).所以,我刚刚使用setTimeout为行window.URL.revokeObjectURL(url)添加了一个延迟.此更改使其在FireFox中可用.当然,它也适用于Chrome.
更新后的代码如下所示,最后一行代码只有一处变化.此外,在FireFox中使用此更改的演示是:http://js.do/sun21170/84977
用于导出的Blob代码(适用于FireFox和Chrome)
//export data in Chrome or FireFox
//this works in Chrome as well as in FireFox
sa = true;
var myBlob = new Blob( [table] , {type:'text/html'});
var url = window.URL.createObjectURL(myBlob);
var a = document.createElement("a");
document.body.appendChild(a);
a.href = url;
a.download = "newfile.xls";
a.click();
//adding some delay in removing the dynamically created link solved the problem in FireFox
setTimeout(function() {window.URL.revokeObjectURL(url);},0);
虽然上面的代码运行完美,但我认为在导出到xls文件时,最好使用类型:’application / vnd.ms-excel,即使表变量包含html字符串.
这个小改动使FireFox自动使用Excel作为打开导出文件的默认程序,否则FireFox使用Laucnch Windows应用程序(默认)打开文件.我的笔记本电脑上的默认应用是Edge浏览器.
var myBlob = new Blob( [table] , {type:'application/vnd.ms-excel'});
如果您想在旧版IE浏览器中使用100%客户端方法,则无法使用Blob对象,因为它在较旧的IE浏览器中不可用,但您可以使用下面的代码片段中的其他方法.
在IE< = IE 11中将Html导出到Excel,包括IE 8和IE 9
function ExportTabletoExcelInOldIE(table)
{
//table variable contains the html to be exported to Excel
var sa = null;
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > 0) // If old Internet Explorer including IE 8
{
//make sure you have an empty div with id of iframeDiv in your page
document.getElementById('iframeDiv').innerHTML = '';
txtArea1.document.open("txt/html", "replace");
txtArea1.document.write(table);
txtArea1.document.close();
txtArea1.focus();
sa = txtArea1.document.execCommand("SaveAs", true, "DataExport.xls");
document.getElementById('iframeDiv').innerHTML = "";
}
return (sa);
}
要使上述IE特定代码起作用,请在页面标记中添加以下内容.
在较旧的IE浏览器中导出时需要空Div
火狐不能html转execl,使用Blob无法在FireFox中使用Excel导出JavaScript相关推荐
- 火狐网页对话框_默认情况下,在Firefox中展开“添加书签”对话框
火狐网页对话框 If you are reading this article you are probably annoyed that every single time you add a bo ...
- php中怎么连接数据库中的表,php 连接 excel表格数据库数据-php中如何将execl的数据导入到数据库中...
php中如何将execl的数据导入到数据库中 php导出大量数据的Excel: PHP从数据库分多次读取100万行记录,和分多次将100万行写入文本文件都没问题 Excel可以支持100万行记录,Ex ...
- 火狐标签在中间_在Firefox中保留未使用的标签
火狐标签在中间 If you have a lot of content heavy webpages open in Firefox, it soon adds up on memory usage ...
- php如何导入数据,““php中如何将execl的数据导入到数据库中
php中如何将execl的数据导入到数据库中 1.使用PHP Excel Parser Pro,但是这个软件为收费软件: 2.可EXCEL表保存为CSV,然后通过phpmyadmin或者SQLyog导 ...
- 火狐浏览器怎么录制屏幕_轻松获取Firefox中的屏幕截图
火狐浏览器怎么录制屏幕 Have you been looking for a quick and easy way to take partial or full screenshots of a ...
- 火狐切换国外账户_如何删除您的Firefox帐户
火狐切换国外账户 Mozilla Firefox uses a Firefox account to sync your passwords, bookmarks, and other browsin ...
- 火狐启用falsh_如何在Firefox中启用暗模式
火狐启用falsh Firefox will soon begin respecting Windows 10's dark app mode setting. But you can enable ...
- 火狐4.9保存书签不显示_将Firefox书签导入Opera 9.5
火狐4.9保存书签不显示 Opera 9.5 was officially released today. I started to play with this version today and ...
- 火狐搜索栏打开新标签_在Firefox中合并地址和搜索栏
火狐搜索栏打开新标签 The Search Bar in Firefox is very useful for finding additional information or images whi ...
最新文章
- iOS多线程拾贝------操作巨人编程
- HDU Problem 2062 Bone Collector【01背包】
- 你有哪些deep learning(rnn、cnn)调参的经验
- php Function split() is deprecated 的解决办法(转)
- testbench文件显示波形_modelsim仿真没有波形或看不到波形的原因及解决方法 - 全文...
- 计算机网络实验题教程推介,计算机网络实验教程从原理到实践(附光盘)
- Centos防火墙添加IP白名单
- 如何制作学术Poster?
- smartdns使用指南_OpenWrt之SmartDNS 使用教程(PLUS+版)
- Xshell更改用户数据文件夹的方法
- web前端笔记整理,从入门到上天,周周更新
- Self-Supervised Vision Transformers with DINO-代码研读
- Vue中使用echarts,echarts 封装以及使用的事项
- redis短信发送限制
- 玉米社:SEM竞价推广预算设置方法
- Kafka教程(一)基础入门:基本概念、安装部署、运维监控、命令行使用
- google skia
- 日本某地发生了一件谋杀案
- 在统计学中_[求助] OR在统计学中指什么?
- 嵌入式AI —— 6. 为糖葫芦加糖,浅谈深度学习中的数据增广
热门文章
- 2021海口高考调研成绩查询,2021年海口市高考调研测试附答案.doc
- LSM303DLH六轴角度传感器驱动
- 手机屏幕测试html5,一加手机5屏幕测试:色彩素质优秀,唯独分辨率是美中不足...
- 查词app android教程,英语查单词app哪个好_查单词app推荐_专门查单词的app
- 微信小程序提取汉字字母大写
- R WinBugs network meta analysis
- 关于小米文件管理器的介绍及源码下载
- 关于三角形面积的公式与格点多边形面积计算算法的讨论
- [Win10] 代理服务器出现问题或地址有误
- 【路径规划】基于遗传算法求解多中心VRP问题matlab源码