生成文本文件

时间:2011-12-29 21:33:03

标签: javascript greasemonkey

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

我有:

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

我想:

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

创建“C:\ Foo \ Bar.txt”,其中C:\ Foo已存在且“Bar.txt”为空文本文件。

2 个答案:

答案 0 :(得分:1)

  

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

不,实际上,他们不能。

一般的想法很好,但无论你想要什么,你都无法使用浏览器JavaScript(包括GreaseMonkey)写入本地文件系统。

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

<a href="data:text/plain;charset=utf-8,test%20contents%0D%0Ago%20here">Saveable</a>

您可以使用以下内容设置内容:

function setDownloadableText(aElement, contents) {
  aElement.setAttribute('href', 'data:text/plain;charset=utf-8,' + contents);
}

答案 1 :(得分:1)

由于您说“暂时可以忽略权限/安全问题”,以下是您可以执行的操作:

  • 使用IE浏览器,最好是旧版本(这是违反所有理智的建议,但是你要求它)
  • 禁用ActiveX创建限制(可能是IE中最糟糕的事情)
  • 创建一个“FileSystemObject”实例并调用它的“CreateTextFile”方法:
var myObject = new ActiveXObject("Scripting.FileSystemObject");    
var newfile = myObject.CreateTextFile("c:\\testing.txt", false);