首先发布在这里。这是我一直面临的一个关于个人项目的问题。我曾经在这里找到一个类似的话题,但我再也找不到了,AFAIR的问题没有得到回答 我必须承认我的头衔有点奇怪,但我找不到更好的解释方法。无论如何我们走吧。
我有这个功能:
(网址和时间得到适当的授予,这不是问题)
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);
}
当此功能被称为一次时没有问题,延迟后它会正确显示。如果我创建一个30m(id = 1)的调用和另一个juste之后的60m(id = 2),当我点击第一个通知时,我将收到id 2和第二个通知相同。
但我应该有id 1然后id 2!你知道为什么吗?
我的扩展程序已在线,您想测试该错误,但我认为它会被视为广告。
答案 0 :(得分:1)
这很可能是一个封闭范围问题。尝试将idTimerString
置于函数
var idTimerString = saveTimer(url, timeHR);