WindowClient
接口在
ServiceWorker API
represents the scope of a service worker client that is a document in a browsing context, controlled by an active worker. The service worker client independently selects and uses a service worker for its own loading and sub-resources.
WindowClient
继承来自其父级接口的方法,
Client
.
WindowClient.focus()
把用户输入聚焦给予当前客户端。
WindowClient.navigate()
将指定 URL 加载到受控客户端页面。
WindowClient
继承来自其父级接口的特性,
Client
.
WindowClient.focused
只读
A boolean that indicates whether the current client has focus.
WindowClient.visibilityState
只读
"hidden"
,
"visible"
,或
"prerender"
.
self.addEventListener('notificationclick', function(event) {
console.log('On notification click: ', event.notification.tag);
event.notification.close();
// This looks to see if the current is already open and
// focuses if it is
event.waitUntil(clients.matchAll({
type: "window"
}).then(function(clientList) {
for (var i = 0; i < clientList.length; i++) {
var client = clientList[i];
if (client.url == '/' && 'focus' in client) {
client.focus();
break;
}
}
if (clients.openWindow)
return clients.openWindow('/');
}));
});
| 规范 | 状态 | 注释 |
|---|---|---|
|
服务工作者
The definition of 'WindowClient' in that specification. |
工作草案 | 初始定义 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
WindowClient
|
Chrome 42 | Edge ≤18 |
Firefox
44
注意事项
|
IE 不支持 No | Opera ? | Safari 不支持 No | WebView Android 不支持 No | Chrome Android 42 | Firefox Android 44 | Opera Android ? | Safari iOS 不支持 No | Samsung Internet Android 4.0 |
ancestorOrigins
|
Chrome ? | Edge ? | Firefox ? | IE 不支持 No | Opera ? | Safari 不支持 No | WebView Android 不支持 No | Chrome Android ? | Firefox Android ? | Opera Android ? | Safari iOS 不支持 No | Samsung Internet Android ? |
focus
|
Chrome 42 | Edge ≤18 |
Firefox
44
注意事项
|
IE 不支持 No | Opera ? | Safari 不支持 No | WebView Android 不支持 No | Chrome Android 42 | Firefox Android 44 | Opera Android ? | Safari iOS 不支持 No | Samsung Internet Android 4.0 |
focused
|
Chrome 42 | Edge ≤18 |
Firefox
44
注意事项
|
IE 不支持 No | Opera ? | Safari 不支持 No | WebView Android 不支持 No | Chrome Android 42 | Firefox Android 44 | Opera Android ? | Safari iOS 不支持 No | Samsung Internet Android 4.0 |
navigate
|
Chrome 49 | Edge ≤18 |
Firefox
44
注意事项
|
IE 不支持 No | Opera ? | Safari 不支持 No | WebView Android 不支持 No | Chrome Android 49 | Firefox Android 44 | Opera Android ? | Safari iOS 不支持 No | Samsung Internet Android 4.0 |
visibilityState
|
Chrome 42 | Edge ≤18 |
Firefox
44
注意事项
|
IE 不支持 No | Opera ? | Safari 不支持 No | WebView Android 不支持 No | Chrome Android 42 | Firefox Android 44 | Opera Android ? | Safari iOS 不支持 No | Samsung Internet Android 4.0 |
完整支持
不支持
兼容性未知
实验。期望将来行为有所改变。
见实现注意事项。
WindowClient
缓存
CacheStorage
Client
Clients
ExtendableEvent
FetchEvent
InstallEvent
Navigator.serviceWorker
NotificationEvent
PeriodicSyncEvent
PeriodicSyncManager
PeriodicSyncRegistration
ServiceWorker
ServiceWorkerContainer
ServiceWorkerGlobalScope
ServiceWorkerRegistration
SyncEvent
SyncManager
SyncRegistration