web-dev-qa-db-ja.com

JavaScriptを使用してテキストファイルを作成する

JavaScriptを使用してテキストファイルを作成するために次のコードを使用していますが、機能しません

<html>
    <head>
        <script language="javascript">
            function WriteToFile()
            { 
                var txt = new ActiveXObject("Scripting.FileSystemObject");
                var s = txt.CreateTextFile("11.txt", true);
                s.WriteLine('Hello');
                s.Close();
             }
         </script>
    </head>
   <body onLoad="WriteToFile()">
   </body>
</html>
9
user475685

これを試して:

<SCRIPT LANGUAGE="JavaScript">
 function WriteToFile(passForm) {

    set fso = CreateObject("Scripting.FileSystemObject");  
    set s = fso.CreateTextFile("C:\test.txt", True);
    s.writeline("HI");
    s.writeline("Bye");
    s.writeline("-----------------------------");
    s.Close();
 }
  </SCRIPT>

</head>

<body>
<p>To sign up for the Excel workshop please fill out the form below:
</p>
<form onSubmit="WriteToFile(this)">
Type your first name:
<input type="text" name="FirstName" size="20">
<br>Type your last name:
<input type="text" name="LastName" size="20">
<br>
<input type="submit" value="submit">
</form> 

これはIEでのみ機能します

4
Faraona

これでうまくいきます:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\\testfile.txt", true);
a.WriteLine("This is a test.");
a.Close();

http://msdn.Microsoft.com/en-us/library/5t9b5c0c(v = vs.84).aspx

5
nonozor

IEはそのオブジェクトの使用を制限しているため、Webページからはこれは機能しません。

2
Joey

保存先のフォルダーを指定する必要があり、存在しないとエラーがスローされます。

var s = txt.CreateTextFile("c:\\11.txt", true);
0
dfortun