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 clickinput 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

js
forwardWheel(element)

Parameters

element

Tham chiếu tới phần tử có các sự kiện wheel mà 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

Một Promise hoàn tất với undefined.

Exceptions

InvalidStateError DOMException

Được ném ra khi:

  • MediaStream dùng để chụp do lời gọi MediaDevices.getDisplayMedia() ban đầu trả về không còn chụp nữa, ví dụ vì các đối tượng MediaStreamTrack liên kết đã bị gọi stop().
  • Ứ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 đó.
NotAllowedError DOMException

Được ném ra khi:

NotSupportedError DOMException

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:

js
// 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 đó:

js
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

Browser compatibility

See also