Chrome瀏覽器擴展開發系列之九:Chrome瀏覽器的chrome.alarms.* API


Chrome瀏覽器擴展程序通過chrome.alarms.* API,可以制定計划周期性地執行代碼,或在指定時間執行代碼。

要使用chrome.alarms.* API,首先需要在manifest.json文件中聲明alarms授權如下:

{

"permissions": [

"alarms"

],

}

chrome.alarms.Alarm對象的屬性如下:

屬性名

類型

必選/可選

注釋

name

string

必選

alarm的名字

scheduledTime

double

必選

觸發alarm的時間,單位ms

periodInMinutes

double

可選

非null表示alarm周期性執行的時間間隔,單位minute

chrome.alarms API中的常用方法:

· 創建一個alarm

chrome.alarms.create(string name, object alarmInfo)

這是一個同步方法,name屬性可選,為空時表示””。alarmInfo對象的屬性如下:

屬性名

類型

必選/可選

注釋

when

double

可選

觸發alarm的時間,單位ms

delayInMinutes

double

可選

onAlarm事件發出的延遲時間,單位minute

periodInMinutes

double

可選

非null表示alarm周期性執行的時間間隔,單位minute

在alarmInfo指定的時間創建一個新的alarm,同時發出onAlarm事件。如果已經有重名的alarm則替換已有的alarm。

為了降低創建alarm對運行效率的影響,Chrome瀏覽器限制一分鍾內最多只能有一個alarm,任何可能突破該限制的alarm都將被推遲任意時間。當然調試過程中沒有該限制。

· 獲取指定名字的alarm

chrome.alarms.get(string name, function(Alarm alarm) {...})

· 獲取所有alarm

chrome.alarms.getAll(function(array of Alarm alarms) {...})

· 通過名字刪除alarm

chrome.alarms.clear(string name, function(boolean wasCleared) {...})

· 清除所有alarm

chrome.alarms.clearAll(function(boolean wasCleared) {...})

· 監聽alarm發生的事件,用於event page

chrome.alarms.onAlarm.addListener(function(Alarm alarm) {...})

回調函數中的alarm就是觸發事件的alarm對象。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM