CaptureController: phương thức forwardWheel()
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 forwardWheel() của giao diện CaptureController bắt đầu chuyển tiếp các sự kiện wheel phát ra trên phần tử được tham chiếu tới viewport của bề mặt hiển thị đang được chụp có liên kết.
Phương thức forwardWheel() phải được gọi thông qua kích hoạt tạm thời. Cụ thể, chỉ các sự kiện click và input mới có thể gọi nó thành công. Ngoài ra, người dùng sẽ được hỏi quyền chia sẻ tab khi lần đầu cố gắng chụp màn hình; nếu người dùng cấp quyền, điều này cũng bao gồm quyền cuộn các tab đang được chụp. Nếu quyền liên quan đã ở trạng thái "granted" thì không cần kích hoạt tạm thời.
Syntax
forwardWheel(element)
Parameters
element-
Tham chiếu tới phần tử có các sự kiện
wheelmà bạn muốn chuyển tiếp tới bề mặt hiển thị đang được chụp có liên kết.
Return value
Exceptions
InvalidStateErrorDOMException-
Được ném ra khi:
MediaStreamdùng để chụp do lời gọiMediaDevices.getDisplayMedia()ban đầu trả về không còn chụp nữa, ví dụ vì các đối tượngMediaStreamTrackliên kết đã bị gọistop().- Ứng dụng đang tự chụp chính nó.
- Có một nỗ lực gọi
forwardWheel()mà không có kích hoạt tạm thời, trong khi người dùng chưa cấp quyền dùng tính năng đó.
NotAllowedErrorDOMException-
Được ném ra khi:
- Permissions Policy
của trang không cho phép trang sử dụng Captured Surface Control API.captured-surface-control - Người dùng đã từ chối rõ ràng quyền chụp bề mặt hiển thị.
- Permissions Policy
NotSupportedErrorDOMException-
Kiểu bề mặt đang được chụp không phải là tab trình duyệt.
Examples
>Cách dùng forwardWheel() cơ bản
Trong bản demo trực tiếp của chúng tôi, được giải thích trong Using the Captured Surface Control API, chúng tôi gọi một hàm tên là startForwarding() sau khi promise chụp getDisplayMedia() hoàn tất:
// Create controller and start capture
const controller = new CaptureController();
videoElem.srcObject = await navigator.mediaDevices.getDisplayMedia({
controller,
});
// ...
startForwarding();
Hàm này gọi phương thức forwardWheel(), truyền vào đó tham chiếu tới phần tử <video> mà luồng đã chụp đang được hiển thị trong đó:
async function startForwarding() {
try {
await controller.forwardWheel(videoElem);
} catch (e) {
console.log(e);
}
}
Kết quả là các sự kiện wheel phát ra trên phần tử được tham chiếu sẽ được chuyển tiếp tới bề mặt hiển thị đang được chụp, cho phép ứng dụng chụp cuộn bề mặt đó.
Specifications
| Specification |
|---|
| Captured Surface Control> # dom-capturecontroller-forwardwheel> |