From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/zh-cn/web/api/windowclient/index.html | 167 +++++++++++++++++++++ .../zh-cn/web/api/windowclient/navigate/index.html | 100 ++++++++++++ 2 files changed, 267 insertions(+) create mode 100644 files/zh-cn/web/api/windowclient/index.html create mode 100644 files/zh-cn/web/api/windowclient/navigate/index.html (limited to 'files/zh-cn/web/api/windowclient') diff --git a/files/zh-cn/web/api/windowclient/index.html b/files/zh-cn/web/api/windowclient/index.html new file mode 100644 index 0000000000..30073ded26 --- /dev/null +++ b/files/zh-cn/web/api/windowclient/index.html @@ -0,0 +1,167 @@ +--- +title: WindowClient +slug: Web/API/WindowClient +tags: + - API + - Client + - Experimental + - Interface + - NeedsTranslation + - Reference + - Service Workers + - ServiceWorker + - TopicStub + - WindowClient +translation_of: Web/API/WindowClient +--- +

{{SeeCompatTable}}{{APIRef("Service Workers API")}}

+ +

The WindowClient interface of the ServiceWorker API represents the scope of a service worker client that is a document in a browser context, controlled by an active worker. The service worker client independently selects and uses a service worker for its own loading and sub-resources.

+ +

Methods

+ +

WindowClient inherits methods from its parent interface, {{domxref("Client")}}.

+ +
+
{{domxref("WindowClient.focus()")}}
+
Gives user input focus to the current client. 
+
{{domxref("WindowClient.navigate()")}}
+
Loads a specified URL into a controlled client page.
+
+ +

Properties

+ +

WindowClient inherits properties from its parent interface, {{domxref("Client")}}.

+ +
+
{{domxref("WindowClient.focused")}} {{readonlyInline}}
+
A boolean that indicates whether the current client has focus.
+
{{domxref("WindowClient.visibilityState")}} {{readonlyInline}}
+
Indicates the visibility of the current client. This value can be one of hidden, visible, prerender, or unloaded.
+
+ +

Example

+ +
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)
+        return client.focus();
+    }
+    if (clients.openWindow)
+      return clients.openWindow('/');
+  }));
+});
+ +

Specifications

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('Service Workers', '#window-client-interface', 'WindowClient')}}{{Spec2('Service Workers')}}Initial definition
+ +

Browser compatibility

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support{{CompatChrome(42.0)}}{{ CompatGeckoDesktop("44.0") }}[1]{{CompatNo}}{{CompatUnknown}}{{CompatNo}}
navigate(){{CompatChrome(49.0)}}    
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidAndroid WebviewFirefox Mobile (Gecko)Firefox OSIE MobileOpera MobileSafari MobileChrome for Android
Basic support{{CompatNo}}{{CompatNo}}{{ CompatGeckoMobile("44.0") }}{{ CompatVersionUnknown }}{{CompatNo}}{{CompatUnknown}}{{CompatNo}}{{CompatChrome(42.0)}}
navigate(){{CompatNo}}{{CompatNo}}     {{CompatChrome(49.0)}}
+
+ +

[1] Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)

+ +

See also

+ + diff --git a/files/zh-cn/web/api/windowclient/navigate/index.html b/files/zh-cn/web/api/windowclient/navigate/index.html new file mode 100644 index 0000000000..7f86cd4700 --- /dev/null +++ b/files/zh-cn/web/api/windowclient/navigate/index.html @@ -0,0 +1,100 @@ +--- +title: WindowClient.navigate() +slug: Web/API/WindowClient/navigate +translation_of: Web/API/WindowClient/navigate +--- +

{{SeeCompatTable}}{{APIRef("Service Workers API")}}

+ +

{{domxref("WindowClient")}} 接口的 navigate() 方法加载特定的 URL 地址到一个被控制的浏览器页面,并返回一个当前 {{domxref("WindowClient")}} 议的 {{jsxref("Promise")}} 对象。

+ +

语法

+ +
WindowClient.navigate(url).then(function(WindowClient) {
+  // do something with your WindowClient after navigation
+});
+ +

参数

+ +
+
url
+
跳转地址
+
+ +

返回值

+ +

一个 {{domxref("WindowClient")}}决议的{{jsxref("Promise")}}对象。

+ +

Specifications

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('Service Workers', '#client-navigate-method', 'navigate()')}}{{Spec2('Service Workers')}}Initial definition.
+ +

浏览器兼容性

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Basic support{{CompatChrome(49.0)}}{{CompatGeckoDesktop(50)}}[1]{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidAndroid WebviewFirefox Mobile (Gecko)Firefox OSIE MobileOpera MobileSafari MobileChrome for Android
Basic support{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile(50)}}[1]{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatChrome(49.0)}}
+
+ +

[1] Service workers (and Push) have been disabled in the Firefox 52 Extended Support Release (ESR.)

-- cgit v1.2.3-54-g00ecf