1
次のJavascriptコードを使用して、テキストエリアをユーザーのマシン上のテキストファイルに保存しています。これはイントラネットに限定されており、IEのみが許可されているため、セキュリティが限定されたIEに制限されることは大きな問題ではありません。しかし、私はPHPを使用することはできません。したがって、私はjavascriptに固執し、次のスクリプトを調整して、文字セットをUTF-8に強制します。ファイルを保存するときに気付いたのは、メモ帳やメモ帳++で正しく読み取れるということですが、たとえばワードパッドで開くと、UTF-16が満足のいくものではないことが明らかでした。同様に、保存ダイアログに任せて、エンコーディングをUTF-8に手動で変更すると、テキストエリアだけでなく、ページ内のすべてのテキストが保存されます。また、誰かがデフォルトの「タイプとして保存」をテキスト.txtに変更する方法を知っていれば、それはすばらしいが重要ではないでしょう。JavaScriptを使ってテキストエリアをUTF-8としてファイルに保存する
<script type="text/javascript">
function SaveContentsTXT(element) {
if (typeof element == "string")
element = document.getElementById(element);
element3 = document.getElementsByName('TXTFILE')[0];
if (element) {
if (document.execCommand) {
var oWin = window.open("about:blank", "_blank");
oWin.document.write((((element.value).replace(/ /g, ' ')).replace(/\t/g, ' ')).replace(/\n\r?/g, '<br />'));
oWin.document.close();
var success = oWin.document.execCommand('SaveAs', true, element3.value);
oWin.close();
if (!success)
alert("Sorry, your browser does not support this feature or you canceled.");
}
}
}
</script>
あなたがターゲットとしているIEのバージョンに言及しいいと思います。 – Sheepy
文字セットについてはわかりませんが、[参考になると思われる](http://msdn.microsoft.com/en-us/library/ie/ms537418%28v=vs.85%29 .aspx)の場合、ファイルのデフォルト名は 'execCommand()'の3番目の引数です。それはすでに '要素3 'の目標ではないのですか? –
@ Sheepy IE 7 and 8. – Nooblet