这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
getLayers()
方法在
VRDisplay
interface returns the layers currently being presented by the
VRDisplay
.
var myLayers = vrDisplayInstance.getLayers();
None.
若
VRDevice
is presenting, this method returns an array of the
VRLayerInit
objects currently being presented (this will currently be one, as
VRDisplayCapabilities.maxLayers
is currently always 1). If the
VRDevice
is not presenting, this method returns an empty array.
// currently returns an empty array
var layers = vrDisplay.getLayers();
if(navigator.getVRDisplays) {
console.log('WebVR 1.1 supported');
// Then get the displays attached to the computer
navigator.getVRDisplays().then(function(displays) {
// If a display is available, use it to present the scene
if(displays.length > 0) {
vrDisplay = displays[0];
console.log('Display found');
// Starting the presentation when the button is clicked: It can only be called in response to a user gesture
btn.addEventListener('click', function() {
vrDisplay.requestPresent([{ source: canvas }]).then(function() {
console.log('Presenting to WebVR display');
// Here it returns an array of VRLayerInit objects
var layers = vrDisplay.getLayers();
...
});
});
}
});
}
VRLayerInit
objects look something like this:
{
leftBounds : [ ... ],
rightBounds: [ ... ],
source: canvasReference
}
注意
:
canvasReference
refers to the
<canvas>
element itself, not the WebGL context associated with the canvas. The other two members are arrays
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebVR 1.1
The definition of 'getLayers()' in that specification. |
草案 | 初始定义 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
getLayers
弃用
|
Chrome No | Edge 15 — 79 |
Firefox
55
|
IE No | Opera ? | Safari No | WebView Android No |
Chrome Android
56 — 80
Disabled
|
Firefox Android 55 | Opera Android ? | Safari iOS ? |
Samsung Internet Android
6.0
|
完整支持
不支持
兼容性未知
实验。期望将来行为有所改变。
弃用。不要用于新网站。
见实现注意事项。
用户必须明确启用此特征。