2012-04-17 5 views
0

javascriptを使用してファイルにデータを追加するにはどうすればよいですか?Javascript:ファイルにデータを追加する方法

私はこのコードを使用しようとしましたが、私はエラーを得た:

var fso = new ActiveXObject("Scripting.FileSystemOject"); 
var filepath = fso.GetFile("member.txt"); 
var fileObject = fso.OpenTextFile(filepath, 8); 
file.WriteLine(id + "|" + pass); 
fileObject.close(); 

エラーがvar fso = new ActiveXObject("Scripting.FileSystemOject");上で、書かれた:Error: Automation server can't create object

をjavascriptや使用してファイルを追加する他の方法がありますこれを修正する方法は?感謝:)

EDIT: 私はthisに書かれて何をしている、そしてそれはまだ動作しない:ActiveXの実行を許可scroll down toパソコンへ転送セキュリティ上の制限があるので、/

+0

あなたは 'scrrun.dll'がインストールされ、お使いのOSに登録されていることを確認します。 quicktest:コマンドラインに 'scrrun.dll'を書いてください。 'WINDOWS'エラーが発生すると、dllが存在します。エラーテキストがcommanlineでのみ発生した場合、' scrrun.dll'がインストールされていない/登録されていません。 'system32'フォルダからファイルを探すこともできます – Teemu

+0

私はそれを実行しました。それは私にファイルを開こうとしているという警告を出します:/ – aquatorrent

+0

インストールはOKです。すべての必要な設定を「安全でない」モードに切り替えましたか? – Teemu

答えて

1

私はちょうどあなたのコードでこれらを実現:

var fileObject = fso.OpenTextFile(filepath, 8,true); 

ファイルが存在しないか、上書きする/それを追加したい場合は、true -argumentが必要になります。

var filepath = fso.GetFile("member.txt");// This won't work. 
var filepath = "your_filePath"; // Use this instead 
var fileObject = fso.OpenTextFile(filepath, 8, true); 

OpenTextFile()"D:/test/file.txt"のような文字列としてパスを必要とします。 GetFile()はオブジェクトを返します。を文字列(D:\test\file.txt)として表示しますが、文字列ではありません。絶対パスも使用します。相対パスは私の経験では機能しないようです。

EDIT

(ファイル拡張子hta、ないhtmまたはhtmlと)HTAとしてローカルに保存し、あなたのhtmlファイルの<head> -partに以下のコードを追加します。

<hta:application 
    applicationName="MyApp" 
    id="myapp" 
    singleInstance="yes" 
/> 

次に、htaファイルを実行します。それでもActiveXエラーが発生した場合は、お使いのOSでサポートされていません。これが機能するならば、すべてのセキュリティ設定が正しいとは限りません。

EDIT II

このケースでは、ActiveXの通過パスを取得するには非常に便利ではありません、あなたはとにかくリテラルそれを書く必要があります。そして私はあなたの宿題をするべきではありませんが、これはトリックです...

var filepath = new String(fso.GetFile("member.txt")).replace(/\\/g,'/'); 

そして、私は絶対パスを使用することについて、上記述べてきたものを忘れないでください...

+0

私は同じことをしていますが、それでもエラーが表示されます。エラーは依然として 'var fso = new ActiveXObject(" Scripting.FileSystemOject ");です。でも、 – aquatorrent

+0

@aquatorrent F12ツールで見ることはできませんか?あなたはこれをローカルで実行しているのですか? – Teemu

+0

ああ、私は試しにキャッチして忘れてしまった:P私はそれを削除し、エラーは、まだ同じです: 'SCRIPT429:オートメーションサーバーはオブジェクトを作成することはできません' – aquatorrent

0

エラーがスローされます。インターネットエクスプローラを使用している場合は、あなたのセキュリティ設定を変更してください(私はあなたがそうだと思います)。 これは便利http://windows.microsoft.com/en-US/windows/help/genuine/ie-activex 乾杯

EDITかもしれません:OpenTextFile機能で8は、あなたがしたいことを指定し、ブラウザを再起動してみてください

+0

ブラウザを再起動してみてください。 –

+0

はい、私は閉じて、もう一度開きますが、それでも動作しません。私はそれを何度もやった。 。 – aquatorrent

0

*/ :私はこの上で書かれて何をしている、そしてそれはまだ動作しませんファイルに追加します。あなたの問題は、ブラウザのセキュリティ制限に起因しています。これを有効にするには、セキュリティレベルを下げる必要がありますが、これは実際には推奨されません。

+0

ええ、実際にファイルに文字列を追加したいと思っています。コードが間違っていますか? – aquatorrent

関連する問題