VRDisplayCapabilities

已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。

非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。

VRDisplayCapabilities 介面是 WebVR API 的一部分,用於描述 VRDisplay 的能力。其屬性可用於執行 VR 裝置能力測試,例如,是否能夠返回位置資訊。

注意: 此介面是舊版 WebVR API 的一部分。它已被 WebXR Device API 取代。

可以透過 VRDisplay.capabilities 屬性訪問此介面。

例項屬性

VRDisplayCapabilities.canPresent 已棄用 只讀 非標準

返回一個布林值,指示 VR 顯示器是否能夠呈現內容(例如,透過 HMD)。

VRDisplayCapabilities.hasExternalDisplay 已棄用 只讀 非標準

返回一個布林值,指示 VR 顯示器是否與裝置的主顯示器分離。

VRDisplayCapabilities.hasOrientation 已棄用 只讀 非標準

返回一個布林值,指示 VR 顯示器是否可以跟蹤並返回方向資訊。

VRDisplayCapabilities.hasPosition 已棄用 只讀 非標準

返回一個布林值,指示 VR 顯示器是否可以跟蹤並返回位置資訊。

VRDisplayCapabilities.maxLayers 已棄用 只讀 非標準

返回一個數字,表示 VR 顯示器一次可以呈現的 VRLayerInit 的最大數量(例如,VRDisplay.requestPresent() 可以接受的陣列的最大長度)。

示例

js
function reportDisplays() {
  navigator.getVRDisplays().then((displays) => {
    displays.forEach((display, i) => {
      const cap = display.capabilities;
      // cap is a VRDisplayCapabilities object
      const listItem = document.createElement("li");
      listItem.innerText = `
VR Display ID: ${display.displayId}
VR Display Name: ${display.displayName}
Display can present content: ${cap.canPresent}
Display is separate from the computer's main display: ${cap.hasExternalDisplay}
Display can return position info: ${cap.hasPosition}
Display can return orientation info: ${cap.hasOrientation}
Display max layers: ${cap.maxLayers}`;
      listItem.insertBefore(
        document.createElement("strong"),
        listItem.firstChild,
      ).textContent = `Display ${i + 1}`;
      list.appendChild(listItem);
    });
  });
}

規範

此介面是舊的 WebVR API 的一部分,該 API 已被 WebXR Device API 取代。它已不再是標準的制定方向。

在所有瀏覽器都實現新的 WebXR API 之前,建議依靠 A-FrameBabylon.jsThree.js 等框架,或 polyfill 來開發可在所有瀏覽器上執行的 WebXR 應用程式。有關更多資訊,請閱讀 Meta 的從 WebVR 移植到 WebXR 指南。

瀏覽器相容性

另見