ServiceWorkerContainer.controller
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2018年4月以降、すべてのブラウザーで利用可能です。
controller は ServiceWorkerContainer インターフェイスの読み取り専用プロパティで、ServiceWorker オブジェクトの状態が activating または activated ならそれ (ServiceWorkerRegistration.active で返されるのと同じオブジェクト) を返します。このプロパティはリクエストが強制リフレッシュ(Shift + リフレッシュ)やアクティブワーカーがない場合は null を返します。
値
ServiceWorker オブジェクト。
例
js
if ("serviceWorker" in navigator) {
// 1 回限りのチェックを行って、サービスワーカーが制御しているかどうかを確認します。
if (navigator.serviceWorker.controller) {
console.log(
`このページを現在制御しているもの: ${navigator.serviceWorker.controller}`,
);
} else {
console.log("このページは現在サービスワーカーによって制御されていません。");
}
} else {
console.log("サービスワーカーをサポートしていません。");
}
仕様書
| 仕様書 |
|---|
| Service Workers Nightly> # navigator-service-worker-controller> |