在IE6中下载Javascript生成的XML

时间:2009-07-01 03:37:19

标签: javascript

我想用Javascript让IE6下载文件。它将使用Javascript动态创建。 Web服务器上不存在此文件。这是一个小例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <script type="text/javascript">
function clicked() {
  var xml = "<data>Just for testing</data>";
  document.open("text/xml", "replace");
  document.write(xml);
}
    </script>
  </head>
  <body>
    <input type="button" value="Download" onclick="clicked();" />
  </body>
</html>

不是在浏览器窗口中加载xml,而是希望它能够让IE6提示用户将数据下载到哪里,这样就可以保存它而无需使用File - &gt;另存为。有什么想法吗?

3 个答案:

答案 0 :(得分:2)

对于IE6,您应该可以在document.write()之后使用document.execCommand()

document.execCommand('SaveAs',true,'file.xml');

这不是任何标准的一部分,只能在IE风格浏览器中使用。

答案 1 :(得分:0)

如果您的数据必须在客户端生成,那么您可以将其发回服务器,以便可以将其作为可下载文件返回。

答案 2 :(得分:-1)

不,这是不可能的。网络浏览器严格禁止这样做,因为只有通过JavaScript将文件保存到磁盘的能力才会非常危险,即使出现确认弹出窗口也是如此。

编辑:感谢其他答案,我发现(毫不奇怪)某些版本的IE可能会出现这种情况。