在这里的第一篇文章。对于个人项目,我已经遇到了很多问题。我曾经在这里找到一个类似的主题,但现在找不到了,并且没有回答这个问题。
我必须承认我的头衔有点怪异,但我找不到更好的解释方式。无论如何,我们走吧。
我有这个功能:
(正确提供了网址和时间,这不是问题)
function setTimer(url, time) {
var timeHR = time / 1000 / 60;
idTimerString = saveTimer(url, timeHR);
console.log(idTimerString);
setTimeout(function() {
var options = {
type: "basic",
title: "Remind me later !",
message: ('You asked me to remind you :\n' + url + ' \n' + timeHR + ' minutes ago. Click to open it !'),
iconUrl: 'img/icon.png'
}
chrome.notifications.create(idTimerString, options, function(cb) {
console.log(cb);
});
}, time);
}
一次调用该函数没有问题时,延迟后将正确显示该函数。如果我在单击第一个通知时创建一个呼叫次数为3000万(id = 1)的呼叫,而在另一个呼叫之后则为60000000(id = 2),则当我单击第一个通知时,我将收到ID 2,与第二个通知相同。
但是我本来应该有id 1,然后id 2!你知道为什么吗?
我的扩展程序已经在线上,您想测试该错误,但我认为它将被视为广告。
最佳答案
这很可能是关闭范围的问题。尝试使idTimerString
局部于该函数
var idTimerString = saveTimer(url, timeHR);