使用JavaScript写入文本文件?

时间:2012-11-18 00:49:43

标签: javascript activex activexobject

我需要从我的某个博客页面捕获搜索主题,并将其写入文本文件以进行跟进。我已经能够捕获输入字符串,但是,我无法将其写入文本文件。我已阅读并尝试实施我找到的所有解决方案但没有成功。我提供了一个非常简单的代码示例来将文本写入文件,但我无法使其工作。 Onblur事件可以很好地访问myFunction,所以这不是问题。我疯了,因为其他人展示的样本非常简单。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >
    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>fs=Server CreateObject ("Scripting FileSystemObject")</title>
    <script type="text/javascript">
    function myFunction()
    {
        var fs = ActiveXObject("Scripting.FileSystemObject");
        var f = fs.OpenTextFile("d:\\test\\topics.txt", 8, true);
        f.WriteLine("This text will be added to the end of file");
        f.Close();
    }
    </script>
    </head>

    <body>
    <input name="Text1" type="text" size="55" onblur="myFunction()" />

    </body>

    </html>

4 个答案:

答案 0 :(得分:1)

如果您使用支持data-uri的现代浏览器,您可以使用javascript创建内容并通过base64强制下载并使其与data-uri兼容,然后只需将窗口位置指向它即可。

This answer demonstrates an HTML-only way to do it.

您也可以使用闪光助手来处理这个问题。 For instance, Downloadify does this.

答案 1 :(得分:1)

JavaScript cannot从客户端读取/写入文件或将文件写入服务器(直接)。

如果要将文件写入服务器,请考虑使用将与您的javascript交互的服务器端脚本 - 以及example如何使用一点点PHP进行此操作。

就客户端文件交互而言,出于安全原因,这根本不可能(除非将其上载到脚本中,在这种情况下可以读取它)。

然而,您可以在客户端上存储数据 - 我以前一直使用jStorage并强烈推荐它。它适用于跨浏览器(即使在IE 6上),并且非常易于使用。

答案 2 :(得分:0)

感谢各位成员提供的所有建议,我能够在服务器上执行写入和附加到文本文件。我使用html代码获取写入所需的数据,然后调用.php文件来写入文件。这是客户端与服务器端问题,.php使用fopen,fwrite和fclose解决了它。

答案 3 :(得分:0)

从技术上讲,当在(.hta)文件中使用javascript时,您可以使用ActiveXObject Scripting.FileSystemObject来访问文件系统,使用它可以执行您拥有权限的文件系统所需的所有命令要做。

var fso=new ActiveXObject("Scripting.FileSystemObject");
if(fso.FolderExists("C:\\Users\\")){
  alert("It exists, hello friend!");
}eles{
  alert("Doesn't exist, who are you?");
}