我有一个显示各种警报的 Firefox 插件。有没有一种方法可以让用户选择他们希望使用的警报类型?目前我有两种类型的警报。标准 JavaScript 警报和 alertNotification。有没有一种方法可以让菜单项具有用户可以选择的两种不同的警报。不知道我会如何在 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>
问题是复选框似乎没有保存输入,它只是默认为标准警报。
任何帮助将不胜感激