我有一些從本地HTML文件加載的JavaScript代碼(不通過網絡服務器)..即,使用file://
打開本地JavaScript - 寫入本地文件
有沒有辦法將此文件中的JavaScript代碼用於寫入本地文件?
我知道跨站點限制不允許在JavaScript中使用很多東西,但這不是跨站點的,所以理論上應該允許它。
我有一些從本地HTML文件加載的JavaScript代碼(不通過網絡服務器)..即,使用file://
打開本地JavaScript - 寫入本地文件
有沒有辦法將此文件中的JavaScript代碼用於寫入本地文件?
我知道跨站點限制不允許在JavaScript中使用很多東西,但這不是跨站點的,所以理論上應該允許它。
有一個jQuery插件jQuery.twFile,允許您讀取和寫入本地文件。
謝謝!這似乎工作。讓我檢查並回來。 – Jus12 2011-03-18 09:14:24
它在這裏不起作用(Firefox 24)。有任何想法嗎? – 2013-10-20 17:06:27
如果是互聯網 資源管理器,您可以使用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>
activeX的想法很好,但我也需要頁面在Firefox中工作 – Jus12 2011-03-18 09:19:46
也許一個Firefox擴展會對你有所幫助。看看https://developer.mozilla.org/en/Code_snippets/File_I%2F%2FO – 2011-03-18 09:27:53
ActiveX?所以它只適用於Windows?那對安全性的影響呢? – 2016-08-24 15:23:50
在瀏覽器中沒有用於文件系統訪問的本地API *。你首先需要!
例如,在Internet Explorer中,有一個ActiveX對象吧:
var fso = new ActiveXObject("Scripting.FileSystemObject");
...但它要求用戶放鬆自己的瀏覽器設置。在其他瀏覽器上,您可以使用jar(Java Archive)文件。你也可以看到非瀏覽器的JavaScript容器提供了什麼,例如, Microsoft HTA文件(HTML應用程序)將支持Windows ActiveX FileSystemObject,因爲您的病毒檢查軟件允許執行HTA文件。
* API現在存在,但仍缺乏良好的支持:http://caniuse.com/#feat=filesystem – 2013-11-13 20:51:06
可能重複[自修改html-JavaScript文件](http://stackoverflow.com/questions/3854059/self-modifying-html-javascript-file) – 2013-10-20 17:07:56