さまざまなアラートを表示するFirefoxアドオンがあります。使用するアラートのタイプをユーザーが選択できるように設定する方法はありますか?現在、2種類のアラートがあります。標準のJavaScriptアラートとalertNotification。ユーザーが選択できる2つの異なるアラートを含むメニュー項目を作成する方法はありますか?しかし、これをJavaScriptでどのようにコーディングするかはわかりません。設定ページはXULにあります。
現在、両方のアラートのコード:両方のアラートのコード:
if(resultEmail) {
prompts.alert(null, "Test", "Email Address Detected");
//Other form of alert.
var alertsService = Components.classes["@mozilla.org/alerts-service;1"].
getService(Components.interfaces.nsIAlertsService);
alertsService.showAlertNotification("",
"Test","Email Detected",
false, "", null, ""); }
ユーザーが使用するアラートを選択してXULウィンドウで設定できるように設定するにはどうすればよいですか?これが可能かどうかわからない。
現在、これを以下に実装していますが、使用するアラートをユーザーに選択させることはできません。
どのアラートを選択するための現在のコード:
var prefManager = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
var customAlert = prefManager.getBoolPref("extensions.yourextension.customalert");
if(resultEmail) {
if(!!customAlert)
{
// Show your alert
prompts.alert(null, "Privacy Exposure Detected", "Email Address Detected \n\nThis data is a privacy risk and should be reviewed");
} else {
// Show built in alert system
var alertsService = Components.classes["@mozilla.org/alerts-service;1"].
getService(Components.interfaces.nsIAlertsService);
alertsService.showAlertNotification("chrome://spellchecker/content/images/stop.png",
"Privacy Exposure Detected",vrs_getWin.document.getElementById(elementT).value+ "This data is a privacy risk",
false, "", null, "");
}
XULウィンドウコード:
<vbox>
<hbox>
<label control="custom-alert" value="Custom Alerts"/>
<checkbox id="custom-alert" preference="customalert"/>
</hbox>
<button id="checkerOkButton" label="&savebutton.label;" oncommand="namespace_highlight.setPrefs();"/>
<button id="checkerCancelButton" label="&cancelbutton.label;" oncommand="window.close();"/>
</hbox>
</vbox>
問題は、チェックボックスが入力を保存していないように見え、デフォルトで標準アラートになっていることです。
どんな助けでもありがたいです