CaptureController: forwardWheel() 方法

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

CaptureController 介面的 forwardWheel() 方法開始將引用元素上觸發的 wheel 事件轉發到關聯的已捕獲顯示錶面的視口。

forwardWheel() 方法必須透過 瞬時啟用 呼叫。具體來說,唯一能成功呼叫它的事件是 clickinput。此外,當首次嘗試螢幕捕獲時,使用者會被請求共享標籤頁的許可權;如果使用者授予了許可權,這也包括滾動已捕獲標籤頁的許可權。如果相關許可權已經是 "granted",則不需要瞬時啟用。

語法

js
forwardWheel(element)

引數

element

對你想轉發 wheel 事件到已捕獲顯示錶面的元素的引用。

返回值

一個 Promise,它 fulfilled 為 undefined

異常

InvalidStateError DOMException

丟擲時

NotAllowedError DOMException

丟擲時

NotSupportedError DOMException

正在捕獲的表面型別不是瀏覽器標籤頁。

示例

基本的 forwardWheel() 用法

在我們由 使用捕獲的表面控制 API 解釋的即時演示中,我們在捕獲的 getDisplayMedia() Promise fulfilled 後呼叫了一個名為 startForwarding() 的函式。

js
// Create controller and start capture
const controller = new CaptureController();
videoElem.srcObject = await navigator.mediaDevices.getDisplayMedia({
  controller,
});

// ...

startForwarding();

該函式呼叫 forwardWheel() 方法,並將正在顯示捕獲流的 <video> 元素作為引用傳遞給它。

js
async function startForwarding() {
  try {
    await controller.forwardWheel(videoElem);
  } catch (e) {
    console.log(e);
  }
}

這導致在引用元素上觸發的 wheel 事件被轉發到已捕獲的顯示錶面,使捕獲應用程式能夠滾動它。

規範

規範
Captured Surface Control
# dom-capturecontroller-forwardwheel

瀏覽器相容性

另見