Widely available すべての主要ブラウザで対応済み。安心して使用可能。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
69
79
96
15.4
69
15.4

Lock インターフェイスの読み取り専用プロパティ mode は、ロックの要求時に LockManager.request() に渡されたアクセスモードを返します。モードは "exclusive" (デフォルト) か "shared" のいずれかです。

69
79
96
15.4
69
15.4

Lock インターフェイスの読み取り専用プロパティ name は、ロックの要求時に決め、LockManager.request に渡された 名前 を返します。

69
79
96
15.4
69
15.4

Web Locks API の LockManager インターフェイスは、新しい Lock オブジェクトを要求するメソッドと、既存の Lock オブジェクトを取得するメソッドを提供します。LockManager のインスタンスを得るには、navigator.locks を参照します。

69
79
96
15.4
69
15.4

LockManager インターフェイスの query() メソッドは、確保中のロックと獲得待ち中のロックに関する情報を持ったオブジェクトで解決する Promise を返します。

69
79
96
15.4
69
15.4

LockManager インターフェイスの request() メソッドは、名前と性質を指定する引数をとり、Lock オブジェクトを要求します。要求された Lock はコールバックに渡されます。この関数自体は、ロックの解放後にコールバックの結果で解決 (または拒否) され、リクエストが中止された場合は拒否される Promise を返します。

69
79
96
15.4
69
15.4

locks は Navigator インターフェイスの読み取り専用プロパティで、新しいLock オブジェクトを要求するためのメソッドを提供する LockManager オブジェクトを返します。既存の Lock オブジェクトを照会します。

69
79
96
15.4
69
15.4

locks は WorkerNavigator インターフェイスの読み取り専用プロパティで、 LockManager オブジェクト返します。これは Lock オブジェクトをリクエストしたり、既存の Lock オブジェクトを問い合わせるためのメソッドを提供します。

69
79
96
15.4
69
15.4
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

JAVASCRIPT
navigator.locks.request("net_db_sync", showLockProperties);
navigator.locks.request("another_lock", { mode: "shared" }, showLockProperties);

function showLockProperties(lock) {
  console.log(`The lock name is: ${lock.name}`);
  console.log(`The lock mode is: ${lock.mode}`);
}

実務での使いどころ

  • Locks の活用

    Web Locks API の Lock インターフェイスは、ロックの名前とモードを提供します。

注意点

  • 古いブラウザでは対応していない場合がある。

実装メモ

  • 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。