alarms.create()

新しいアラームを生成します。

構文

js
browser.alarms.create(
  name, // 文字列
  alarmInfo, // オブジェクト
);

引数

name省略可

string. アラームの名前を指定します。デフォルト値は空の文字列です。 この値は alarms.get()alarms.clear() で特定のアラームを参照する際に用います。また、alarms.onAlarm のリスナー関数に渡すオブジェクト alarms.Alarm のプロパティ name からも参照されます。 アラームの名前は常に固有です(スコープはアドオンごとに区切られます)。以前そのアドオンが作成したアラーム名に一致する文字列を name に与えた場合、既存のアラームは削除されて発火しなくなります。

alarmInfo省略可

object. アラームが最初に発火する時刻を指定する引数です。時刻の指定には絶対値(when プロパティ)か、アラーム設定時を基準とした時間(delayInMinutes プロパティ)のどちらかで指定します。アラームを周期的に発火させるには periodInMinutes プロパティも指定します。

Chrome の場合、パッケージ化された状態でアドオンが読み込まれると、アラームを 1 分に 1 回以上の頻度で呼び出すことはできません。ここでアドオンが delayInMinuteswhen に 1 未満の値を指定しようとすると、アラームは 1 分後に発火します。アドオンが periodInMinutes に 1 未満の値を指定した場合、アラームは 1 分おきに発火します。

alarmInfo オブジェクトで指定できるプロパティは以下の通りです。

when省略可

double. アラームが最初に発火する時刻を 1970 年 1 月 1 日からの経過ミリ秒 で指定します。現在までの経過ミリ秒は Date.now() で取得できます。when を指定した場合は delayInMinutes を指定しないでください。

delayInMinutes省略可

double. アラームが最初に発火する時刻を、アラーム設定時から何分後かで指定します。 delayInMinutes を指定した場合は when を指定しないでください。

periodInMinutes省略可

double. この値が指定された場合、アラームは最初の発火時刻から periodInMinutes の周期で繰り返し発火します。この値を指定したうえでwhendelayInMinutes の両方を省略した場合、最初にアラームが発火するのは periodInMinutes の時間が経過した後になります。periodInMinutes が指定されなければ、アラームは一度だけ発火します。

ブラウザーの互換性

現在から相対的な時刻で一度限り発火するアラームを "" という名前で作成する例:

js
const delayInMinutes = 5;

chrome.alarms.create({
  delayInMinutes,
});

現在からの相対的な時刻から繰り返すアラームを "my-periodic-alarm" の名前で作成する例:

js
const delayInMinutes = 5;
const periodInMinutes = 2;

chrome.alarms.create("my-periodic-alarm", {
  delayInMinutes,
  periodInMinutes,
});

絶対的な時刻から繰り返すアラームを "my-periodic-alarm" の名前で作成する例:

js
const when = 1545696000;
const periodInMinutes = 2;

chrome.alarms.create("my-periodic-alarm", {
  when,
  periodInMinutes,
});

メモ: この API は Chromium の chrome.alarms API に基づいています。Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。