2013-10-04 163 views
0

我想使用javascript/jquery修改.txt(完全覆盖)。我目前使用下面编写的代码,它在IE中工作正常。使用javascript/jquery编辑txt文件

var fso = new ActiveXObject("Scripting.FileSystemObject"); 
    var s = fso.OpenTextFile(dir + "modules.txt", 2, true, -2); 
    s.WriteLine(tobewritten); 
    s.Close(); 
    fso = s = null; 

如何在Mozilla Firefox中完成同样的工作。

请注意,我在本地运行我的应用程序,而不是托管在网络服务器上。

+1

[在Firefox中,使用Javascript写入文件?](http://stackoverflow.com/questions/4284199/in-firefox-write-to-a-file-using-javascript) – CodingIntrigue

+1

这是我认为IE中存在一个安全问题,你不能在其他任何地方这样做。 – ncm

+1

如果这是可能的,任何人都可以编辑你的电脑上的任何文件。 – Joren

回答

4

它不能。所有浏览器中的JavaScript都是沙盒式的,所以它永远不会允许你访问任何本地目录。

只能使用浏览器插件,比如运行浏览器内Java代码或类似代码,然后使用它来访问本地文件,只能绕过这个'限制'(我把它放在引号中,因为它非常有目的性) 。

0

可以使用HTML5 FileSystem API。

你应该能够做到以下几点:

  1. 阅读和操作文件:文件/斑点,文件清单,的FileReader
  2. 创建和写作:斑点(),FileWriter的
  3. 目录和文件系统访问:DirectoryReader,FileEntry/DirectoryEntry,LocalFileSystem

更多信息available here。 & here

注意:这只有现代浏览器支持。事实上,大多数功能仅在Chrome中受支持。不幸的是,Firefox不支持使用FileAPI编写文件,但根据this,它们很可能会在未来实现。

Check browser support

+0

明确指出[“检查浏览器支持”](http://caniuse.com/#feat=filesystem)链接表示Firefox不支持这种技术,这是OP要求的唯一方法。 – Blazemonger

+0

@Blazemonger:它确实支持Firefox,更新了链接。 –

+0

为什么更新后的链接比原始链接更正确?在我看来,像FileWriter API是OP所需要的。 – Blazemonger