2013-10-04 113 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