新しいアラームを生成します。
構文
browser.alarms.create( name, // 文字列 alarmInfo // オブジェクト )
引数
name
Optionalstring
. アラームの名前を指定します。デフォルト値は空の文字列です。- この値は
alarms.get()
やalarms.clear()
で特定のアラームを参照する際に用います。また、alarms.onAlarm
のリスナ関数に渡すオブジェクトalarms.Alarm
のプロパティname
からも参照されます。 - アラームの名前は常に固有です(スコープはアドオンごとに区切られます)。以前そのアドオンが作成したアラーム名に一致する文字列を
name
に与えた場合、既存のアラームは削除されて発火しなくなります。 alarmInfo
Optional-
object
. アラームが最初に発火する時刻を指定する引数です。時刻の指定には絶対値(when
プロパティ)か、アラーム設定時を基準とした時間(delayInMinutes
プロパティ)のどちらかで指定します。アラームを周期的に発火させるにはperiodInMinutes
プロパティも指定します。Chrome の場合、パッケージ化された状態でアドオンが読み込まれると、アラームを 1 分に 1 回以上の頻度で呼び出すことはできません。ここでアドオンが
delayInMinutes
やwhen
に 1 未満の値を指定しようとすると、アラームは 1 分後に発火します。アドオンがperiodInMinutes
に 1 未満の値を指定した場合、アラームは 1 分おきに発火します。alarmInfo
オブジェクトで指定できるプロパティは以下の通りです。 -
when
Optionaldouble
. アラームが最初に発火する時刻を 1970 年 1 月 1 日からの経過ミリ秒 で指定します。現在までの経過ミリ秒はDate.now()
で取得できます。when
を指定した場合は delayInMinutes
を指定しないでください。delayInMinutes
Optionaldouble
. アラームが最初に発火する時刻を、アラーム設定時から何分後かで指定します。delayInMinutes
を指定した場合はwhen
を指定しないでください。periodInMinutes
Optionaldouble
. この値が指定された場合、アラームは最初の発火時刻からperiodInMinutes
の周期で繰り返し発火します。この値を指定したうえでwhen
とdelayInMinutes
の両方を省略した場合、最初にアラームが発火するのはperiodInMinutes
の時間が経過した後になります。periodInMinutes
が指定されなければ、アラームは一度だけ発火します。
ブラウザ実装状況
Chrome | Edge | Firefox | Firefox for Android | Opera | |
---|---|---|---|---|---|
Basic Support | Yes | No | 45.0 | 48.0 | 33 |
例
現在から相対的な時刻で一度限り発火するアラームを "" という名前で作成する例:
const delayInMinutes = 5;
chrome.alarms.create({
delayInMinutes
});
現在からの相対的な時刻から繰り返すアラームを "my-periodic-alarm" の名前で作成する例:
const delayInMinutes = 5;
const periodInMinutes = 2;
chrome.alarms.create("my-periodic-alarm", {
delayInMinutes,
periodInMinutes
});
絶対的な時刻から繰り返すアラームを "my-periodic-alarm" の名前で作成する例:
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 に従っています。
// Copyright 2015 The Chromium Authors. All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // * Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // * Redistributions in binary form must reproduce the above // copyright notice, this list of conditions and the following disclaimer // in the documentation and/or other materials provided with the // distribution. // * Neither the name of Google Inc. nor the names of its // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.