0

我試着讓Chrome進度豐富的通知,但狀態欄不會移動。Chrome進度豐富的通知狀態不會上移

我想這個代碼可以工作。狀態欄每40毫秒會增加1%。通知在4秒後消失(恰巧也是100%)。我覺得有什麼毛病我setInterval

var notifyStatus = function(title, message) { 
    var k = 0; 
    chrome.notifications.create('', { 
    'type': 'progress', 
    'iconUrl': 'images/icon128.png', 
    'title': title, 
    'message': message || '', 
    'progress': setInterval(function() { 
     if (k>100) {k;} 
     else {k++;} 
    },40) 
    }, function(nid) { 
    // Automatically close the notification in 4 seconds. 
    window.setTimeout(function() { 
     chrome.notifications.clear(nid); 
    }, 4000); 
    }); 
}; 
+1

你用'k'做什麼?你正確地調用'setInterval',但除了改變'k'的值之外,你實際上並沒有對它做任何我能看到的事情。 – Kevin

回答

2

目前您是分配progress任何值的setInterval返回只有一次

您需要更新通知使用chrome.notifications.update的新進展值每40ms的:

var notifyStatus = function(title, message, timeout) { 
    chrome.notifications.create({ 
    type: 'progress', 
    iconUrl: 'images/icon128.png', 
    title: title, 
    message: message || '', 
    progress: 0 
    }, function(id) { 
    // Automatically close the notification in 4 seconds by default 
    var progress = 0; 
    var interval = setInterval(function() { 
     if (++progress <= 100) { 
     chrome.notifications.update(id, {progress: progress}, function(updated) { 
      if (!updated) { 
      // the notification was closed 
      clearInterval(interval); 
      } 
     }); 
     } else { 
     chrome.notifications.clear(id); 
     clearInterval(interval); 
     } 
    }, (timeout || 4000)/100); 
    }); 
}; 
+0

這適用於ike魔術。謝謝您的幫助。 – johnmayer