ServiceWorkerRegistration.showNotification(ok)

https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/showNotification

Các showNotification()phương pháp của ServiceWorkerRegistrationgiao diện tạo ra một thông báo trên một nhân viên phục vụ tại ngũ.

Lưu ý : Tính năng này có sẵn trong Công nhân web .

Cú pháp

​serviceWorkerRegistration.showNotification(title, [options]);

Thông số

titleTiêu đề phải được hiển thị trong thông báooptions Không bắt buộcMột đối tượng cho phép cấu hình thông báo. Nó có thể có các thuộc tính sau:

  • actions: Một loạt các hành động để hiển thị trong thông báo. Các thành viên của mảng phải là một đối tượng theo nghĩa đen. Nó có thể chứa các giá trị sau:

    • hành động: Một DOMString xác định một hành động người dùng sẽ được hiển thị trên thông báo.

    • tiêu đề: Một DOMStringvăn bản hành động có chứa được hiển thị cho người dùng.

    • biểu tượng: A USVStringchứa URL của biểu tượng để hiển thị cùng với hành động.

    Phản ứng phù hợp được xây dựng bằng cách sử dụng event.actiontrong notificationclicksự kiện.

  • badge: a USVStringchứa URL của hình ảnh để thể hiện thông báo khi không có đủ không gian để hiển thị thông báo, ví dụ như Thanh thông báo Android. Trên các thiết bị Android, huy hiệu phải chứa các thiết bị có độ phân giải lên tới 4x, khoảng 96 x 96 px và hình ảnh sẽ được tự động che đi.

  • body: Một chuỗi đại diện cho một nội dung bổ sung để hiển thị trong thông báo.

  • data: Dữ liệu tùy ý mà bạn muốn được liên kết với thông báo. Đây có thể là bất kỳ loại dữ liệu.

  • dir: Hướng của thông báo; nó có thể auto, ltr hoặc rtl

  • icon: a USVStringchứa URL của hình ảnh sẽ được sử dụng làm biểu tượng trong thông báo.

  • image: a USVStringchứa URL của hình ảnh sẽ được hiển thị trong thông báo.

  • lang: Chỉ định lang được sử dụng trong thông báo. Chuỗi này phải là thẻ ngôn ngữ BCP 47 hợp lệ .

  • renotify: Một boolean cho biết có nên triệt tiêu các rung động và cảnh báo bằng âm thanh khi sử dụng lại một taggiá trị hay không. Nếu tùy chọn ‘s renotify là đúng và tùy chọn ‘s tag là chuỗi rỗng một TypeError sẽ được ném ra. Mặc định là false.

  • requireInteraction: Cho biết rằng trên các thiết bị có màn hình đủ lớn, thông báo sẽ vẫn hoạt động cho đến khi người dùng nhấp hoặc loại bỏ nó. Nếu giá trị này không có hoặc sai, phiên bản Chrome dành cho máy tính để bàn sẽ tự động thu nhỏ thông báo sau khoảng hai mươi giây. Giá trị mặc định là false.

  • silent: Khi được đặt chỉ ra rằng không nên tạo ra âm thanh hoặc rung. Nếu tùy chọn ‘s silent là đúng và tùy chọn ‘s vibrate có mặt một ngoại lệ TypeError sẽ được ném ra. Giá trị mặc định là false.

  • tag: ID cho một thông báo đã cho phép bạn tìm, thay thế hoặc xóa thông báo bằng tập lệnh nếu cần.

  • timestamp: A DOMTimeStampthể hiện thời gian khi thông báo được tạo. Nó có thể được sử dụng để chỉ ra thời gian mà thông báo là thực tế. Ví dụ: điều này có thể là trong quá khứ khi một thông báo được sử dụng cho một tin nhắn không thể được gửi ngay lập tức vì thiết bị ngoại tuyến hoặc trong tương lai cho một cuộc họp sắp bắt đầu.

  • vibrate: Một kiểu rung để chạy với màn hình hiển thị thông báo. Một mô hình rung động có thể là một mảng với ít nhất một thành viên. Các giá trị là thời gian tính bằng mili giây trong đó các chỉ số chẵn (0, 2, 4, v.v.) cho biết thời gian rung và các chỉ số lẻ cho biết thời gian tạm dừng là bao lâu. Ví dụ: [300, 100, 400]sẽ rung 300ms, tạm dừng 100ms, sau đó rung 400ms.

Giá trị trả về

A Promisemà giải quyết undefined.

Ví dụ

navigator.serviceWorker.register('sw.js');

function showNotification() {
  Notification.requestPermission(function(result) {
    if (result === 'granted') {
      navigator.serviceWorker.ready.then(function(registration) {
        registration.showNotification('Vibration Sample', {
          body: 'Buzz! Buzz!',
          icon: '../images/touch/chrome-touch-icon-192x192.png',
          vibrate: [200, 100, 200, 100, 200, 100, 200],
          tag: 'vibration-sample'
        });
      });
    }
  });
}

Để gọi hàm trên vào một thời điểm thích hợp, bạn có thể sử dụng ServiceWorkerGlobalScope.onnotificationclicktrình xử lý sự kiện.

Bạn cũng có thể truy xuất chi tiết của các Notifications đã bị sa thải từ nhân viên dịch vụ hiện tại bằng cách sử dụng ServiceWorkerRegistration.getNotifications().

Last updated