DocumentPictureInPicture: requestWindow() 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.
Phương thức requestWindow() của giao diện
DocumentPictureInPicture mở cửa sổ Picture-in-Picture cho ngữ cảnh duyệt web chính hiện tại. Nó trả về Promise hoàn thành với phiên bản Window đại diện cho ngữ cảnh duyệt web bên trong cửa sổ Picture-in-Picture.
Phương thức requestWindow() yêu cầu kích hoạt tạm thời, tức là nó phải được gọi để phản hồi hành động người dùng như nhấp chuột hoặc nhấn nút.
Cú pháp
requestWindow()
requestWindow(options)
Tham số
optionsOptional-
Đối tượng tùy chọn chứa các thuộc tính sau:
disallowReturnToOpenerOptional-
Giá trị boolean. Khi đặt là
true, tùy chọn này gợi ý cho trình duyệt rằng nó không nên hiển thị điều khiển giao diện cho phép người dùng quay lại tab gốc và đóng cửa sổ Picture-in-Picture. Mặc định làfalse.Ví dụ, trong triển khai tính năng này của Chrome, điều khiển giao diện được cung cấp là nút "back to tab" trong thanh trên cùng của cửa sổ Picture-in-Picture:

heightOptional-
Số không âm đại diện cho chiều cao cần đặt cho viewport của cửa sổ Picture-in-Picture, tính bằng pixel. Mặc định là
0. preferInitialWindowPlacementOptional-
Giá trị boolean, mặc định là
false. Khi đặt làtrue, cửa sổ Picture-in-Picture sẽ luôn xuất hiện trở lại ở vị trí và kích thước ban đầu khi được mở lần đầu, sau khi được đóng và mở lại. Ngược lại, nếupreferInitialWindowPlacementlàfalse, kích thước và vị trí của cửa sổ Picture-in-Picture sẽ được ghi nhớ khi đóng và mở lại. widthOptional-
Số không âm đại diện cho chiều rộng cần đặt cho viewport của cửa sổ Picture-in-Picture, tính bằng pixel. Mặc định là
0.
Note:
Nếu một trong height hoặc width được chỉ định, giá trị kia cũng phải được chỉ định, nếu không sẽ xảy ra lỗi. Nếu cả hai giá trị không được chỉ định, được chỉ định là 0, hoặc quá lớn, trình duyệt sẽ kẹp hoặc bỏ qua các giá trị khi thích hợp để cung cấp trải nghiệm người dùng hợp lý. Kích thước bị kẹp sẽ thay đổi tùy thuộc vào triển khai, kích thước màn hình và các yếu tố khác.
Giá trị trả về
Promise hoàn thành với phiên bản đối tượng Window đại diện cho ngữ cảnh duyệt web bên trong cửa sổ Picture-in-Picture.
Ngoại lệ
NotSupportedErrorDOMException-
Được ném ra nếu API đã bị tắt rõ ràng (ví dụ: qua cài đặt trình duyệt).
NotAllowedErrorDOMException-
Được ném ra nếu:
requestWindow()không được gọi từ đối tượngwindowcấp cao nhất.requestWindow()được gọi từ đối tượngwindowcủa cửa sổ Picture-in-Picture (tức làDocumentPictureInPicture.window).requestWindow()được gọi mà không có kích hoạt tạm thời.
RangeErrorDOMException-
Được ném ra nếu chỉ một trong
heightvàwidthđược đặt, hoặc nếuheightvàwidthđược đặt với giá trị âm.
Ví dụ
const videoPlayer = document.getElementById("player");
// …
// Open a Picture-in-Picture window with all options set
const pipWindow = await window.documentPictureInPicture.requestWindow({
width: videoPlayer.clientWidth,
height: videoPlayer.clientHeight,
disallowReturnToOpener: true,
preferInitialWindowPlacement: true,
});
// …
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Document Picture-in-Picture Specification> # dom-documentpictureinpicture-requestwindow> |