web-dev-qa-db-ja.com

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

私は運が悪かったのでこれをやろうとしていたので、SOに尋ねることにしました。

さまざまなボタンがたくさんあるページがあり、各ボタンには独自のパラメーターがあります。

.txtファイルをログとして作成し、誰かがボタンの1つをクリックするたびに、パラメーターとクリックされたボタンを使用してログに書き込みます。各ボタンには独自の関数があるため、関数を作成し、関数のパラメーターを使用して各関数の先頭に追加することを想定しています。

したがって、onLoad()を使用してtxtファイルを作成し、ボタンがクリックされるたびに.txtファイルに書き込む関数を作成する必要があります。

私は試した:

function WriteToFile(passForm) {

    set fso = CreateObject("Scripting.FileSystemObject");  
    set s = fso.CreateTextFile("logs\log1.txt", True);
    s.writeline("HI");
    s.writeline("Bye");
    s.writeline("-----------------------------");
    s.Close();
 }

しかし、運が悪かったため、set fso行の先頭にオブジェクトが必要であるというエラーが表示されました。

これを解決する方法や、より良い方法で実装する方法についてのアイデアはありますか?

[〜#〜] update [〜#〜]つまり、ログファイルを作成し、ユーザーがボタンをクリックするたびにデータを入力して、誰が何をクリックしているかを把握したいと思います。すべてのファイルがサーバーにあるので、そこにテキストファイルを作成して、情報を入力します。

7
randomizertech

異なるボタンを使用して次のHTMLマークアップがあるとします

 <input type='button' name='button1' class='capture' />
 <input type='button' name='button2' class='capture' />
 <input type='button' name='button3' class='capture' />

そして、ボタンがクリックされると、ボタンの名前を取得し、それをサーバーに送信して、次のajax呼び出しでログファイルに書き込みます。サーバー側にPHP)があると仮定します

 $(".capture").click(function(){

    var buttnName=$(this).attr('name');
    $.ajax({
      type:"POST",
      data:"ClickedButton="+buttonName, 
      url: "server.php",
      success: function(data){

      alert('Written in Log File');
    }
    }); // END Ajax 
    });

server.php次のコードを使用してログファイルに書き込みます

  $myFile = "logfile.txt"; \\Considering the text file in same directory where server.php is
  $fh = fopen($myFile, 'w') or die("can't open file");
  $stringData =$_POST['ClickedButton'] ;
  fwrite($fh, $stringData);
  fclose($fh);

簡単ではありませんか? 注:この目的にはJqueryが必要です

JavaScriptは、ブラウザなし(デフォルト)で、ファイルシステムのどこにでもアクセスできます。少しでも自分のスペースではありません。 HTML5ストレージを調べることをお勧めします http://www.html5rocks.com/en/features/storage

ユーザーがログレポートを使用してfile.txtを要求する場合は、ダウンロード呼び出しを生成し、返されたコンテンツにStorageオブジェクトに保存されているものを入力できます。

2
user1467267

あなたはこれをやろうとしていますか?

http://www.yaldex.com/wjscript/jsfilecreateTextFile.htm

もしそうなら、それはアクティブなxオブジェクトを使用します。それはすなわちものでしょう。

1
John Green