2011-03-18 132 views
11

我有一些從本地HTML文件加載的JavaScript代碼(不通過網絡服務器)..即,使用file://打開本地JavaScript - 寫入本地文件

有沒有辦法將此文件中的JavaScript代碼用於寫入本地文件?

我知道跨站點限制不允許在JavaScript中使用很多東西,但這不是跨站點的,所以理論上應該允許它。

+0

可能重複[自修改html-JavaScript文件](http://stackoverflow.com/questions/3854059/self-modifying-html-javascript-file) – 2013-10-20 17:07:56

回答

11

有一個jQuery插件jQuery.twFile,允許您讀取和寫入本地文件。

+0

謝謝!這似乎工作。讓我檢查並回來。 – Jus12 2011-03-18 09:14:24

+1

它在這裏不起作用(Firefox 24)。有任何想法嗎? – 2013-10-20 17:06:27

4

如果是互聯網 資源管理器,您可以使用ActiveX

<html> 
    <head> 
     <script type="text/javaScript"> 
      function WriteToFile() 
      { 
       var fso = new ActiveXObject("Scripting.FileSystemObject"); 
       var txtFile = fso.CreateTextFile("c:\\TestFile.txt", true); 
       txtFile.WriteLine("This is a test"); 
       txtFile.Close(); 
      } 
     </script> 
    </head> 

    <body> 
     <p> 
      <script type="text/javaScript"> WriteToFile(); </script> 
     </p> 
    </body> 
</html> 
+0

activeX的想法很好,但我也需要頁面在Firefox中工作 – Jus12 2011-03-18 09:19:46

+1

也許一個Firefox擴展會對你有所幫助。看看https://developer.mozilla.org/en/Code_snippets/File_I%2F%2FO – 2011-03-18 09:27:53

+0

ActiveX?所以它只適用於Windows?那對安全性的影響呢? – 2016-08-24 15:23:50

0

在瀏覽器中沒有用於文件系統訪問的本地API *。你首先需要!

例如,在Internet Explorer中,有一個ActiveX對象吧:

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

...但它要求用戶放鬆自己的瀏覽器設置。在其他瀏覽器上,您可以使用jar(Java Archive)文件。你也可以看到非瀏覽器的JavaScript容器提供了什麼,例如, Microsoft HTA文件(HTML應用程序)將支持Windows ActiveX FileSystemObject,因爲您的病毒檢查軟件允許執行HTA文件。

+0

* API現在存在,但仍缺乏良好的支持:http://caniuse.com/#feat=filesystem – 2013-11-13 20:51:06

相關問題