Javascript 在扩展名firefox中选择文件窗口

Javascript 在扩展名firefox中选择文件窗口,javascript,firefox,firefox-addon,add-on,Javascript,Firefox,Firefox Addon,Add On,我正在构建一个扩展名,我想像windows一样从弹出窗口获取文件路径。在firefox的扩展中使用这样的东西吗 你应该退房 创建文件选择器 首先,您需要创建一个文件选择器组件并对其进行初始化 var nsIFilePicker = Components.interfaces.nsIFilePicker; var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker); fp.init(w

我正在构建一个扩展名,我想像windows一样从弹出窗口获取文件路径。在firefox的扩展中使用这样的东西吗

你应该退房

创建文件选择器

首先,您需要创建一个文件选择器组件并对其进行初始化

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和 模式保存其他两种模式。这些模式是系统的常数 nsIFilePicker接口

获取所选文件

最后,可以通过调用show()函数来显示对话框。信息技术 不接受任何参数,但返回一个状态代码,指示 用户选择。请注意,直到用户 已选择一个文件。该函数返回三个常量之一:

returnOK-用户选择一个文件并按下OK。该文件将与用户共享 所选内容将存储在文件选择器的文件属性中

返回取消-用户按下了取消

在保存中返回替换 模式下,此返回值标识用户选择要删除的文件 替换。(当用户输入的名称时,返回OK 一个新文件。)您应该检查返回值,然后获取该文件 使用文件属性从文件选择器中删除

var res = fp.show();
if (res != nsIFilePicker.returnCancel){
  var thefile = fp.file;
  // --- do something with the file here ---
}