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
-
Nếu một trong các điều kiện sau là đúng:
- Kết quả của việc chạy thuật toán cấm ngữ cảnh bảo mật hỗn hợp trên đối tượng cài đặt của tài liệu là
"Prohibits Mixed Security Contexts"và presentationUrl là URL chưa được xác thực a priori. - Tập cờ sandbox hoạt động của đối tượng tài liệu có cờ ngữ cảnh duyệt web trình chiếu bị sandbox được đặt.
Thực hiện các bước con sau:
- Trả về một Promise bị từ chối với
SecurityErrorDOMException. - Hủy bỏ các bước này.
- Kết quả của việc chạy thuật toán cấm ngữ cảnh bảo mật hỗn hợp trên đối tượng cài đặt của tài liệu là
-
Đặt P là một Promise mới.
-
Trả về P, nhưng tiếp tục thực hiện các bước này song song.
-
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ì:
- Giải quyết P với một đối tượng
PresentationAvailabilitymới có thuộc tínhvalueđược đặt thànhfalse. - Hủy bỏ tất cả các bước còn lại.
- Giải quyết P với một đối tượng
-
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ì:
- Từ chối P với
NotSupportedErrorDOMException. - Hủy bỏ tất cả các bước còn lại.
- Từ chối P với
-
Nếu tồn tại một tuple (A, presentationUrls) trong tập đối tượng khả dụng, thì:
- Giải quyết P với A.
- Hủy bỏ tất cả các bước còn lại.
-
Đặt A là một đối tượng
PresentationAvailabilitymới với thuộc tínhvalueđược đặt như sau:falsenếu danh sách màn hình trình chiếu có sẵn rỗng.truenế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.falsenếu không.
-
Tạo một tuple (A, presentationUrls) và thêm nó vào tập đối tượng khả dụng.
-
Chạy thuật toán để theo dõi danh sách màn hình trình chiếu có sẵn.
-
Giải quyết P với A.