0

如何使用 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();

错误是 on var fso = new ActiveXObject("Scripting.FileSystemOject");,写着:Error: Automation server can't create object

有没有其他方法可以使用 javascript 附加文件或解决此问题的方法?谢谢 :)

编辑: 我已经做了上面写的但它仍然无法正常工作:/

4

4 回答 4

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),但它不是字符串。也使用绝对路径,根据我的经验,相对路径似乎不起作用。

编辑

将下面的代码添加到<head>html 文件的 - 部分,然后在本地保存为 hta(文件扩展名为hta,而不是htmhtml)。

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

然后运行 ​​hta 文件。如果您仍然收到 ActiveX 错误,则您的操作系统不支持它。如果这可行,则您尚未正确完成所有安全设置。

编辑二

在这种情况下,通过 ActiveX 获取路径并不是很有用,无论如何您都需要将其写成文字。而且我不应该做你的功课,但这可以解决问题...

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

不要忘记我上面所说的关于使用绝对路径的内容......

于 2012-04-17T16:54:52.827 回答
0

抛出错误是因为存在不允许 activex 运行的安全限制。如果您使用 Internet Explorer(我认为您是),请更改您的安全设置以允许使用 activex。这可能很有用http://windows.microsoft.com/en-US/windows/help/genuine/ie-activex 干杯

编辑:我已经做了上面写的,但它仍然无法正常工作:/ * 尝试重新启动浏览器

于 2012-04-17T14:58:34.033 回答
0

8函数中的指定OpenTextFile要追加到文件中。您的问题来自浏览器的安全限制。要使其工作,您必须降低安全级别,这并不是真正推荐的。

于 2012-04-17T15:00:04.080 回答
0

正如此评论中所指出的

Javascript:如何将数据附加到文件

错误的原因Error: Automation server can't create object是传递给的 progid 中的拼写错误ActiveXObject:Oject 而不是 Ob ject

var fso = new ActiveXObject("Scripting.FileSystemOject");

有一个失踪b

于 2021-12-02T15:49:18.373 回答