如何启用本地javascript在我的电脑上读/写文件?
由于Greasemonkey无法读取/写入本地硬盘上的文件,我听到有人建议使用GoogleGears,但我对gears一无所知 因此,我决定添加一个如何启用本地javascript在我的电脑上读/写文件?,javascript,firefox,greasemonkey,Javascript,Firefox,Greasemonkey,由于Greasemonkey无法读取/写入本地硬盘上的文件,我听到有人建议使用GoogleGears,但我对gears一无所知 因此,我决定添加一个 <script type="text/javascript" src="file:///c:/test.js">/script> /script> 现在,这个测试将使用FileSystemObject来读/写文件。因为,file:///c:/test.js是本地硬盘上的一个javascript文件,它可能能够读取/写入本地硬盘
<script type="text/javascript" src="file:///c:/test.js">/script>
/script>
现在,这个测试将使用FileSystemObject来读/写文件。因为,file:///c:/test.js
是本地硬盘上的一个javascript文件,它可能能够读取/写入本地硬盘上的文件
我试过了,但是Firefox阻止了file:///c:/test.js
从本地磁盘读取/写入文件的脚本:(
Firefox的
中是否有关于:config
的任何设置,我们可以在其中指定让特定脚本(例如来自localfile或xyz.com的脚本)对我的本地磁盘文件具有读/写权限?您可以在chrome范围内使用这些设置
var FileManager =
{
Write:
function (File, Text)
{
if (!File) return;
const unicodeConverter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]
.createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
unicodeConverter.charset = "UTF-8";
Text = unicodeConverter.ConvertFromUnicode(Text);
const os = Components.classes["@mozilla.org/network/file-output-stream;1"]
.createInstance(Components.interfaces.nsIFileOutputStream);
os.init(File, 0x02 | 0x08 | 0x20, 0700, 0);
os.write(Text, Text.length);
os.close();
},
Read:
function (File)
{
if (!File) return;
var res;
const is = Components.classes["@mozilla.org/network/file-input-stream;1"]
.createInstance(Components.interfaces.nsIFileInputStream);
const sis = Components.classes["@mozilla.org/scriptableinputstream;1"]
.createInstance(Components.interfaces.nsIScriptableInputStream);
is.init(File, 0x01, 0400, null);
sis.init(is);
res = sis.read(sis.available());
is.close();
return res;
},
}
例如:
var x = FileManager.Read("C:\\test.js");
另请参见
组件.类
wi我将抛出一个安全错误。