2011-12-13 115 views
4

我只是做一個簡單的擴展。鉻擴展,每x分鐘執行

我希望我的背景頁面(或部分)執行每5分鐘,得到一些數據,並顯示桌面通知,如果any.How我能做到這一點來完成,這將是

+0

http://www.howtocreate.co.uk/tutorials/javascript/timers – CloudyMarble

回答

5

方式一:

setInterval(your_function, 5 * 60 * 1000) 

這將執行your_function每5分鐘(5 * 60 * 1000個毫秒= 5分鐘)

+6

5年來沒有人指出setInterval需要幾毫秒而不是秒? –

+0

我的假設是看上面的人會是開發人員。我只能說C#,Delphi和JavaScript,但他們的延遲/定時器總是使用毫秒 –

+0

哪些常用語言使用秒? @GawieGreef – Brandito

7

重要提示:如果你與(在清單"persistent": false)的Event page擴展,分鐘間隔的將失敗,因爲後臺頁面將被卸載。

如果您的擴展使用window.setTimeout()或window.setInterval(),請改爲使用報警API。如果事件頁面關閉,則基於DOM的計時器將無法使用。

在這種情況下,您需要使用chrome.alarms API來實現它:

chrome.alarms.create("5min", { 
    delayInMinutes: 5, 
    periodInMinutes: 5 
}); 

chrome.alarms.onAlarm.addListener(function(alarm) { 
    if (alarm.name === "5min") { 
    doStuff(); 
    } 
}); 

在持續的背景頁面的情況下,setInterval仍然是一個可以接受的solution