我建立了一个扩展,我想从像Windows一样的窗口弹出窗口中获取文件的路径。是这样的东西在firefox的扩展中使用吗?
答案 0 :(得分:1)
您应该查看this page on MDN
创建文件选择器
首先,您需要创建一个文件选择器组件并对其进行初始化。
var nsIFilePicker = Components.interfaces.nsIFilePicker;
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, "Select a File", nsIFilePicker.modeOpen);
首先,创建一个新的文件选取器对象并将其存储在变量中 'FP'。 'init'函数用于初始化文件选择器。这个 函数有三个参数,即打开对话框的窗口, 对话框的标题和模式。这里的模式是modeOpen 用于打开对话框。你也可以使用modeGetFolder和 modeSave用于其他两种模式。这些模式是常量 nsIFilePicker接口。
获取所选文件
最后,您可以通过调用show()函数来显示对话框。它 不接受任何参数,但返回一个状态代码,指示什么 用户选择。请注意,该功能直到用户才会返回 选择了一个文件。该函数返回三个常量之一:
returnOK - 用户选择了一个文件并按了OK。用户的文件 selected将存储在文件选择器的文件属性中。
returnCancel - 用户按下取消。
returnReplace - 在保存中 模式,此返回值标识用户选择的文件 更换。 (当用户输入名称时,将返回returnOK 一个新文件。)你应该检查返回值,然后获取文件 文件选择器中的对象使用文件属性。
var res = fp.show();
if (res != nsIFilePicker.returnCancel){
var thefile = fp.file;
// --- do something with the file here ---
}