Javascript 生成文本文件

Javascript 生成文本文件,javascript,greasemonkey,Javascript,Greasemonkey,这仅供个人使用,因此暂时可以忽略权限/安全问题 我有: “创建文件”按钮和事件侦听器。我能够成功地通知()我想要创建的路径和文件名所需的所有信息 我想要: 在脚本指定的目录中创建本地文件的函数,例如: 创建“C:\Foo\Bar.txt”,其中C:\Foo已经存在,“Bar.txt”是一个空文本文件 因此权限/安全问题暂时可以忽略 不,事实上,他们不能 一厢情愿的想法很好,但不管您想要什么,您都无法使用浏览器JavaScript(包括GreaseMonkey)写入本地文件系统 您所能做的最好的事

这仅供个人使用,因此暂时可以忽略权限/安全问题

我有:

“创建文件”按钮和事件侦听器。我能够成功地通知()我想要创建的路径和文件名所需的所有信息

我想要:

在脚本指定的目录中创建本地文件的函数,例如:

创建“C:\Foo\Bar.txt”,其中C:\Foo已经存在,“Bar.txt”是一个空文本文件

因此权限/安全问题暂时可以忽略

不,事实上,他们不能

一厢情愿的想法很好,但不管您想要什么,您都无法使用浏览器JavaScript(包括GreaseMonkey)写入本地文件系统

您所能做的最好的事情就是允许用户通过提供链接来保存文件。用户可以右键单击并保存到文件

<a href="data:text/plain;charset=utf-8,test%20contents%0D%0Ago%20here">Saveable</a>
既然您说过“权限/安全问题暂时可以忽略”,那么您可以做以下几点:

  • 使用IE,最好是旧版本(这与所有明智的建议背道而驰,但这是你要求的)
  • 禁用ActiveX创建限制(可能是IE中最糟糕的做法)
  • 创建“FileSystemObject”实例并调用其“CreateTextFile”方法:

没错,javascript的一条重要规则是:不要弄乱文件系统。@Frank:差不多:)node.js可以,浏览器扩展可以。但基本上用户编写的任何东西都是残废的。我有另一个Greasemonkey脚本,它在用户的文件系统上打开一个文件。我必须在Profile目录中设置新的user_pref()值,但它可以工作。类似的文件创建解决方案不可能吗?如果您已经知道这样一个脚本,链接到它会有所帮助。我不知道有什么方法可以做到这一点,而且这是不可能的。诀窍是通过改变用户偏好来授予chrome级别的权限。该脚本只生成一个链接“file:\\\C:\Etc\Etc”,它在本地文件系统而不是浏览器中打开。不过,听起来似乎无法创建/删除/修改文件。与Greasemonkey不兼容!只是开玩笑。。。回答得好,如果你能得到IE(我不能)。
function setDownloadableText(aElement, contents) {
  aElement.setAttribute('href', 'data:text/plain;charset=utf-8,' + contents);
}
var myObject = new ActiveXObject("Scripting.FileSystemObject");    
var newfile = myObject.CreateTextFile("c:\\testing.txt", false);