This question带来了一个新的:
我有一个 html 页面,我需要它在用户按下“保存”按钮时更改内容类型,以便浏览器提示将文件保存到磁盘
我一直在服务器端这样做以提供页面的“excel”版本(基本上是一个 html 表格)
<c:if test="${page.asExcelAction}">
<%
response.setContentType("application/vnd.ms-excel");
%>
我现在想做的是做同样的事情,但在客户端使用 javacript 但我无法做到这一点。
这是我目前所得到的:
<html>
<head>
<script>
function saveAs(){
var sMarkup = document.getElementById('content').innerHTML;
//var oNewDoc = document.open('application/vnd.ms-excel');
var oNewDoc = document.open('text/html');
oNewDoc.write( sMarkup );
oNewDoc.close();
}
</script>
</head>
<body>
<div id='content'>
<table>
<tr>
<td>Stack</td>
<td>Overflow</td>
</tr>
</table>
</div>
<input type="button" value="Save as" onClick="saveAs()"/>
</body>
</html>
最佳答案
您可以尝试使用隐藏的 iframe。当用户单击保存时,将 iframe src 更新到您存储/生成 excel 文件的任何位置。应弹出一个保存对话框。
关于javascript - 更改弹出窗口的内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1479449/