PresentationRequest: getAvailability() method

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Khi phương thức getAvailability() được gọi, user agent PHẢI thực hiện các bước sau:

Đầu vào

presentationUrls, một danh sách URL yêu cầu trình chiếu

Đầu ra

P, một Promise

  1. Nếu một trong các điều kiện sau là đúng:

    Thực hiện các bước con sau:

    1. Trả về một Promise bị từ chối với SecurityError DOMException.
    2. Hủy bỏ các bước này.
  2. Đặt P là một Promise mới.

  3. Trả về P, nhưng tiếp tục thực hiện các bước này song song.

  4. Nếu user agent không thể theo dõi danh sách màn hình trình chiếu có sẵn trong toàn bộ thời gian của ngữ cảnh duyệt web điều khiển (ví dụ: vì người dùng đã tắt tính năng này), thì:

    1. Giải quyết P với một đối tượng PresentationAvailability mới có thuộc tính value được đặt thành false.
    2. Hủy bỏ tất cả các bước còn lại.
  5. Nếu user agent không thể liên tục theo dõi danh sách màn hình trình chiếu có sẵn nhưng có thể tìm màn hình trình chiếu để bắt đầu kết nối, thì:

    1. Từ chối P với NotSupportedError DOMException.
    2. Hủy bỏ tất cả các bước còn lại.
  6. Nếu tồn tại một tuple (A, presentationUrls) trong tập đối tượng khả dụng, thì:

    1. Giải quyết P với A.
    2. Hủy bỏ tất cả các bước còn lại.
  7. Đặt A là một đối tượng PresentationAvailability mới với thuộc tính value được đặt như sau:

    1. false nếu danh sách màn hình trình chiếu có sẵn rỗng.
    2. true nếu có ít nhất một màn hình trình chiếu tương thích cho một thành viên nào đó của presentationUrls.
    3. false nếu không.
  8. Tạo một tuple (A, presentationUrls) và thêm nó vào tập đối tượng khả dụng.

  9. Chạy thuật toán để theo dõi danh sách màn hình trình chiếu có sẵn.

  10. Giải quyết P với A.