2

我需要从我的一个博客页面中捕获搜索主题并将其写入文本文件以进行跟进。我已经能够捕获输入字符串,但是无法将其写入文本文件。我已阅读并尝试实施我找到的所有解决方案,但均未成功。我包含一个非常简单的代码示例来将文本写入文件,但我无法让它工作。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

4 回答 4

1

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

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

在客户端文件交互方面,出于安全原因,这根本是不可能的(除非它被上传到脚本,在这种情况下它可以读取)。

但是,您可以将数据存储在客户端上——我以前一直在使用jStorage并强烈推荐它。它可以跨浏览器工作(甚至在 IE 6 上)并且非常易于使用。

于 2012-11-18T01:54:14.330 回答
1

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

这个答案演示了一种纯 HTML 的方法。

您也可以使用 flash 助手来解决这个问题。例如,Downloadify 就是这样做的。

于 2012-11-18T01:45:19.840 回答
0

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

于 2012-11-20T20:44:28.973 回答
0

从技术上讲,当在 (.hta) 文件中使用 javascript 时,您可以使用 ActiveXObjectScripting.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?");
}
于 2015-12-27T16:29:04.613 回答