0

上から順に: 次のコードを使用すると、ActiveX オブジェクトを介して Internet Explorer から htm ファイルに jscript を使用してテキスト ファイルを作成できます。わーい!ただし、メモ帳でテキスト ファイルを開くと、新しい行が newlines ではなく文字化け文字 (長方形の文字) として表示されることに気付きました。Sublime 2 で問題ありません。

<html>
<head>
</head>
<script type="text/javascript">
var myStr = "The self same moment I could pray;\nAnd from my neck so free\nThe Albatross fell off, and sank\nLike lead into the sea.";
var myPath = "C:\\temp\\";
var myTextfile = "Rime.txt"

writeFile(myPath, myTextfile, myStr)
function writeFile(apath, afilename, str)
{ 
  var fso = new ActiveXObject("Scripting.FileSystemObject");
  var outFile = fso.CreateTextFile(apath + afilename, true);
  outFile.WriteLine(str);
  outFile.Close();
}

</script>
</body>
</html>

また、Photoshop 環境 (通常はスクリプトを作成する場所) から次を使用すると、発生しないことにも気付きました。

var txtFile = new File(apath + "/" + afilename);
outFile.open('w');
outFile.writeln(str);
outFile.close();

これは ActiveX の単なる癖 (またはおまけ) ですか? メモ帳で適切に表示できる新しい行を書き込むように変更できますか?

そして、はい、私の母は、ActiveX オブジェクトに関与することの危険性について私に警告しました。

4

1 に答える 1

1

文字エンコードに問題があるようです。代わりにこれを試してくださいCreateTextFile()

var outFile = fso.OpenTextFile(apath + afilename, 2, true, 0);

2番目の引数:1=読み取り、2=書き込み、8=追加。

3番目の引数:true存在しないファイルが作成されたfalse場合、存在しないファイルが作成されなかった場合。[オプション、デフォルト= false]

4番目の引数:0= ASCII、-1= Unicode、-2=システムのデフォルト。[オプション、デフォルト= 0]

于 2013-02-20T16:44:43.503 に答える