我有一些从本地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