0

我想尝试使用 HTML 上的小屏幕向文件提​​供输出。每次单击按钮时,我都希望替换文件中的文本。这是我写的代码:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>This is Web App</title>
</head>
<script>
function createDoc()
{
var doc=document.open("answer.txt","replace");
var txt="<html><body>You clicked Allow</body></html>";
doc.write(txt);
doc.close();
}

function createDoc2()
{
var doc=document.open("answer.txt","replace");
var txt="<html><body>You clicked Deny</body></html>";
doc.write(txt);
doc.close();
}
</script>

<body>
<h1> This is the visitor at your house</h1>
<img src = "./images/chef.gif" width="130" height="101" />
<br />
<button name="Yes" type="button" onclick="createDoc()">Allow! </button>
<button name="No" type="button" onclick="createDoc2()">Deny! </button>


</body>
</html>

我知道这不是正确的方法,但我正在努力学习。请帮助我并指出我的错误,并告诉我如何在可能的情况下纠正它们。我知道可能有很多。我只是想在这一点上自学。非常感谢您的帮助。

4

1 回答 1

0

如果您只想下载页面生成的文件,这个问题可能会有所帮助:

下载数据url文件

这个想法是您需要将数据编码为 base64(不难,现代浏览器支持btoa)并指示浏览器打开它。如果你通过给文件一个它不知道如何打开的 mime 类型来欺骗它(例如application/octet-steam),它会下载文件而不是显示它。

此解决方案的问题是您无法命名文件。

如果您想命名文件,我POST会将数据发送到您的网络服务器,将其写入服务器上的文件,然后window.open使用文件的路径执行操作。这将允许您下载有问题的文件。

正在制定允许 Javascript 直接写入文件的草案,但该文件将位于用户无法直接访问的沙盒位置。这仅适用于 Web 应用程序在客户端上存储大量数据。从您的问题来看,这可能不是您想要的。尝试上述解决方案之一。

于 2012-11-27T07:01:29.783 回答