我有此代码,但它仅在chrome中起作用,有什么方法可以使其在IE中起作用。它应该下载CSV文件。或者是否还有其他方法可以使用IE10
导出CSV文件 $('#download').on('click', function () {
function download(filename, text) {
var pom = document.createElement('a');
pom.setAttribute('#example1', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
pom.setAttribute('download', filename);
pom.click();
}
});
<table id="example1" border="1" style="background-color:#FFFFCC" width="0%" cellpadding="3" cellspacing="3">
<tr>
<th>Title</th>
<th>Name</th>
<th>Phone</th>
</tr>
<tr>
<td>Mr.</td>
<td>John</td>
<td>07868785831</td>
</tr>
<tr>
<td>Miss</td>
<td><i>Linda</i></td>
<td>0141-2244-5566</td>
</tr>
<tr>
<td>Master</td>
<td>Jack</td>
<td>0142-1212-1234</td>
</tr></table>
<a href="#" id="download">Download</a>
这是JSFIDDLE DEMO
更新:示例3.1工作正常,但我不知道如何将上述代码转换为此:工作示例
更新::
$('#download').on('click', function () {
var csvContent = $('#example1'); //here we load our csv data
var blob = new Blob([csvContent], {
type: "text/csv;charset=utf-8;",
});
navigator.msSaveBlob(blob, "filename.csv")
});
});
我获得错误0x800A139E- JAVASCRIPT运行时错误:InvalidStateError
在IE11上, innerhtml 工作正常。
<html>
<head>
<script lang="javascript">
function download(){
var csvContent = document.getElementById("example1").innerHTML; //here we load our csv data
var blob = new Blob([csvContent], {
type: "text/csv;charset=utf-8;",
});
var blob = new Blob([csvContent], {
type: "text/csv;charset=utf-8;",
});
navigator.msSaveBlob(blob, "filename.csv")
}
</script>
</head>
<body>
<a href="#" onclick="download()">Download</a>
<table id="example1" border="1" style="background-color:#FFFFCC" width="0%" cellpadding="3" cellspacing="3">
<tr>
<th>Title</th>
<th>Name</th>
<th>Phone</th>
</tr>
<tr>
<td>Mr.</td>
<td>John</td>
<td>07868785831</td>
</tr>
<tr>
<td>Miss</td>
<td><i>Linda</i></td>
<td>0141-2244-5566</td>
</tr>
<tr>
<td>Master</td>
<td>Jack</td>
<td>0142-1212-1234</td>
</tr></table>
</body>
</html>