Browser 未从Firefox插件的事件页面触发通知
我在另外两个地方使用了相同的通知,而且效果很好,为什么当我单击上下文菜单时,它不会从中触发?我试过了。然后在browser.storage.sync.set(…之后启动它,我还试过从browser.storage.onChanged…方法启动它。为什么这个createNotification()方法在弹出窗口和选项文件中工作,而在后台脚本中不工作Browser 未从Firefox插件的事件页面触发通知,browser,firefox-addon,firefox-addon-sdk,browser-extension,Browser,Firefox Addon,Firefox Addon Sdk,Browser Extension,我在另外两个地方使用了相同的通知,而且效果很好,为什么当我单击上下文菜单时,它不会从中触发?我试过了。然后在browser.storage.sync.set(…之后启动它,我还试过从browser.storage.onChanged…方法启动它。为什么这个createNotification()方法在弹出窗口和选项文件中工作,而在后台脚本中不工作 let contextMenuItem = { id: "spendMoney", title: "Sp
let contextMenuItem = {
id: "spendMoney",
title: "SpendMoney",
contexts: ["selection"]
}
browser.contextMenus.create(contextMenuItem)
const isInt = function (value) {
return !isNaN(value) &&
parseInt(Number(value)) == value &&
!isNaN(parseInt(value, 10));
}
browser.contextMenus.onClicked.addListener((clickData, tab) => {
if (clickData.menuItemId == "spendMoney" && clickData.selectionText) {
if (isInt(clickData.selectionText)) {
browser.storage.sync.get(['total', 'limit'], function (budget) {
let newTotal = 0;
if (budget.total) {
newTotal += parseInt(budget.total);
}
newTotal += parseInt(clickData.selectionText);
browser.storage.sync.set({
'total': newTotal
})
})
}
}
})
browser.storage.onChanged.addListener(function(changes,storageName) {
browser.browserAction.setBadgeText({
"text":changes.total.newValue.toString()
});
})
let count = 0;
function createNotification(amount, newTotal, budget) {
if (amount && newTotal >= budget.limit) {
let notifOptions = {
type: 'basic',
title: 'limit reached!',
message: `Oops... Looks like you've exceeded your limit! `
};
browser.notifications.create('limitNotif' + count, notifOptions)
count += 1;
}
}