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-type(などapplication/octet-steam)をファイルに与えることによってそれをだますと、ファイルを表示する代わりにダウンロードします。

このソリューションの問題は、ファイルに名前を付けることができないことです。

ファイルに名前を付けたい場合はPOST、データをWebサーバーに書き込み、サーバー上のファイルに書き込んでから、ファイルへwindow.openのパスを使用してを実行します。これにより、問題のファイルをダウンロードできるようになります。

Javascriptがファイルに直接書き込むことを許可するドラフトが進行中ですが、このファイルは、ユーザーが直接アクセスできないサンドボックス化された場所にあります。これは、Webアプリがクライアントに大量のデータを保存するためだけのものです。あなたの質問から、これはおそらくあなたが望むものではありません。上記の解決策のいずれかを試してください。

于 2012-11-27T07:01:29.783 に答える