Notification (ok)

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

Các Notificationgiao diện của Notifications API được sử dụng để cấu hình và máy tính để bàn màn hình thông báo cho người dùng. Sự xuất hiện và chức năng cụ thể của các thông báo này khác nhau giữa các nền tảng nhưng nhìn chung chúng cung cấp một cách để cung cấp thông tin không đồng bộ cho người dùng.

Constructor

Notification()Tạo một thể hiện mới của Notificationđối tượng.

Tính chất

Thuộc tính tĩnh

Các thuộc tính này chỉ có sẵn trên Notificationchính đối tượng.Notification.permission Chỉ đọcMột chuỗi đại diện cho sự cho phép hiện tại để hiển thị thông báo. Các giá trị có thể là:

  • denied - Người dùng từ chối hiển thị thông báo.

  • granted - Người dùng chấp nhận có thông báo hiển thị.

  • default - Không rõ sự lựa chọn của người dùng và do đó trình duyệt sẽ hoạt động như thể giá trị bị từ chối.

Notification.maxActions Chỉ đọc

Thuộc tính sơ thẩm

Các thuộc tính này chỉ có sẵn trên các phiên bản của Notificationđối tượng.Notification.actions Chỉ đọcMảng hành động của thông báo như được chỉ định trong tham số của hàm tạo.optionsNotification.badge Chỉ đọcURL của hình ảnh được sử dụng để thể hiện thông báo khi không có đủ không gian để hiển thị thông báo.Notification.body Chỉ đọcChuỗi cơ thể của thông báo như được chỉ định trong tham số của hàm tạo.optionsNotification.data Chỉ đọcTrả về một bản sao có cấu trúc của dữ liệu thông báo.Notification.dir Chỉ đọcHướng văn bản của thông báo như được chỉ định trong tham số của hàm tạo.optionsNotification.lang Chỉ đọcMã ngôn ngữ của thông báo như được chỉ định trong tham số của hàm tạo.optionsNotification.tag Chỉ đọcID của thông báo (nếu có) như được chỉ định trong tham số của hàm tạo.optionsNotification.icon Chỉ đọcURL của hình ảnh được sử dụng làm biểu tượng của thông báo như được chỉ định trong tham số của nhà xây dựng .optionsNotification.image Chỉ đọcURL của hình ảnh sẽ được hiển thị như một phần của thông báo, như được chỉ định trong tham số của nhà xây dựng .optionsNotification.renotify Chỉ đọcChỉ định xem người dùng có nên được thông báo sau khi thông báo mới thay thế thông báo cũ hay không.Notification.requireInteraction Chỉ đọcMột Booleanthông báo cho biết rằng một 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ó, thay vì tự động đóng lại.Notification.silent Chỉ đọcChỉ định xem thông báo có nên im lặng hay không - nghĩa là không phát ra âm thanh hoặc rung, bất kể cài đặt của thiết bị.Notification.timestamp Chỉ đọcChỉ định thời gian mà thông báo được tạo hoặc áp dụng (quá khứ, hiện tại hoặc tương lai).Notification.title Chỉ đọcTiêu đề của thông báo như được chỉ định trong tham số đầu tiên của hàm tạo.Notification.vibrate Chỉ đọcChỉ định kiểu rung cho các thiết bị có phần cứng rung phát ra.

Xử lý sự kiện

Notification.onclickMột xử lý cho clicksự kiện này. Nó được kích hoạt mỗi khi người dùng nhấp vào thông báo.Notification.oncloseMột xử lý cho closesự kiện này. Nó được kích hoạt khi người dùng đóng thông báo.Notification.onerrorMột xử lý cho errorsự kiện này. Nó được kích hoạt mỗi khi thông báo gặp lỗi.Notification.onshowMột xử lý cho showsự kiện này. Nó được kích hoạt khi thông báo được hiển thị.

Phương pháp

Phương thức tĩnh

Các phương thức này chỉ có sẵn trên Notificationchính đối tượng.Notification.requestPermission()Yêu cầu sự cho phép từ người dùng để hiển thị thông báo.

Phương pháp sơ thẩm

Các thuộc tính này chỉ có sẵn trên một thể hiện của Notificationđối tượng hoặc thông qua nó prototype. Đối Notificationtượng cũng kế thừa từ EventTargetgiao diện.Notification.close()Lập trình đóng một thể hiện thông báo.

Ví dụ

Giả sử HTML cơ bản này:

<button onclick="notifyMe()">Notify me!</button>

Bạn có thể gửi thông báo như sau - ở đây chúng tôi trình bày một bộ mã khá dài và đầy đủ mà bạn có thể sử dụng nếu trước tiên bạn muốn kiểm tra xem thông báo có được hỗ trợ hay không, sau đó kiểm tra xem có được cấp cho nguồn gốc hiện tại để gửi thông báo hay không, sau đó yêu cầu sự cho phép nếu được yêu cầu, trước khi gửi thông báo.

function notifyMe() {
  // Let's check if the browser supports notifications
  if (!("Notification" in window)) {
    alert("This browser does not support desktop notification");
  }

  // Let's check whether notification permissions have already been granted
  else if (Notification.permission === "granted") {
    // If it's okay let's create a notification
    var notification = new Notification("Hi there!");
  }

  // Otherwise, we need to ask the user for permission
  else if (Notification.permission !== "denied") {
    Notification.requestPermission().then(function (permission) {
      // If the user accepts, let's create a notification
      if (permission === "granted") {
        var notification = new Notification("Hi there!");
      }
    });
  }

  // At last, if the user has denied notifications, and you 
  // want to be respectful there is no need to bother them any more.
}

Chúng tôi không còn hiển thị một mẫu trực tiếp trên trang này nữa, vì Chrome và Firefox không còn cho phép các quyền thông báo được yêu cầu từ các nguồn gốc chéo <iframe>, với các trình duyệt khác để theo dõi. Để xem ví dụ đang hoạt động, hãy xem ví dụ về danh sách Công việc của chúng tôi (cũng xem ứng dụng đang chạy trực tiếp .)

Lưu ý : Trong ví dụ trên, chúng tôi sinh ra các thông báo để đáp lại cử chỉ của người dùng (nhấp vào nút). Đây không chỉ là cách thực hành tốt nhất - bạn không nên spam người dùng bằng các thông báo mà họ không đồng ý - nhưng các trình duyệt chuyển tiếp sẽ không cho phép thông báo rõ ràng không được kích hoạt để đáp lại cử chỉ của người dùng. Firefox đã làm điều này từ phiên bản 72 chẳng hạn.

Thông số kỹ thuật

Last updated