1
我正在使用以下Javascript代碼將textarea保存到用戶計算機上的文本文件。這僅限於我們的內部網,並且只允許IE瀏覽器被限制爲IE,但安全性有限並不是一個大問題;但是,我無法使用PHP。因此,我想堅持javascript並調整以下腳本以強制字符集轉換爲UTF-8。我在保存文件時注意到,它可以在記事本和記事本++中正確讀取,但是當在寫字板中打開時,例如很明顯UTF-16並不令人滿意。同樣,如果我將其保存到保存對話框並手動將編碼更改爲UTF-8,則它將所有文本保存在頁面中,而不僅僅保存爲textarea。此外,如果有人知道如何將默認的「另存爲類型」更改爲文本.txt,那將很棒但不重要。JavaScript保存textarea文件爲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 2012-03-28 02:07:42
關於charset,我不知道,但根據[什麼似乎是參考](http://msdn.microsoft.com/en-us/library/ie/ms537418%28v=vs.85%29 .aspx),該文件的默認名稱是'execCommand()'的第三個參數。這不就是'element3'的目標嗎? – 2012-03-28 05:18:28
@Sheepy IE 7和8. – Nooblet 2012-03-28 12:54:59