1

XUL Firefox 拡張機能に取り組んでいます。私のウィンドウの 1 つは、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ます。

ありがとう!

4

1 に答える 1