使用Javascript创建日志文本文件

时间:2013-04-08 13:59:43

标签: javascript html logging text text-files

我一直试图这样做,没有运气,所以我决定问问。

我有一个包含许多不同按钮的页面,每个按钮都有自己的参数。

我想创建一个.txt文件作为日志,然后每当有人点击其中一个按钮时,在日志中写入参数和单击的按钮。 每个按钮都有自己的功能,所以我假设我只是创建函数,然后使用函数的参数在每个函数的开头添加它。

所以我需要使用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行的开头预期了对象。

关于如何解决这个问题或以更好的方式实施它的任何想法?

更新 所以我只想创建一个日志文件,并在每次用户点击按钮时填充数据,以便我知道谁在点击什么。我的所有文件都在服务器中,因此我只想在那里创建文本文件并填写信息。

3 个答案:

答案 0 :(得分:5)

假设您有以下带有不同按钮的HTML MARKUP

 <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用于此目的

答案 1 :(得分:1)

你想这样做吗?

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

如果是,则使用活动的x对象。那将是一件好事。

答案 2 :(得分:1)

JavaScript,在任何浏览器中(默认情况下)都可以访问文件系统中的任何位置。甚至没有一点自己的空间。您可能需要查看HTML5存储空间http://www.html5rocks.com/en/features/storage

如果用户要求file.txt提供日志报告,您可以生成下载调用并使用存储在Storage对象中的内容填充返回的内容。