我正在开发一个 XUL Firefox 扩展。我的一个窗口是一个“选项”首选项窗口,其中包括一个textbox
. textbox
应该包含一个文件路径。我正在使用一个按钮并nsIFilePicker
让用户选择文件。框中的文本已更新,但更改从未反映在扩展首选项中。它仅在用户直接在textbox
. 即使没有使用键盘进行更改,是否有任何方法可以“强制”应用更改?
onPrivKeyBtn: function() {
const nsIFilePicker = CI.nsIFilePicker;
var fp = CC["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, "Select File", nsIFilePicker.modeOpen);
fp.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterXML);
if (fp.show() != nsIFilePicker.returnCancel) {
var file = fp.file;
var path = fp.file.path;
document.getElementById("privKeyBox").value = path;
}
}
正如我之前提到的,它是一个首选项窗口。因此,我检查了直接在文本框中输入时首选项是否已更新。只有在onPrivKeyBtn
函数完成更改时才会出现问题。
谢谢!