WEBGL_lose_context

WEBGL_lose_context 是属于 WebGL API 的一个扩展API,它提供一组方法用来模拟一个 WebGLRenderingContext 上下文的丢失和恢复。

WebGL扩展可以通过 WebGLRenderingContext.getExtension() 方法来使用。更多信息可参阅 WebGL教程 中的 使用WebGL扩展 。

可用性:该扩展在 WebGL1WebGL2 上下文中都是可用的。

方法

WEBGL_lose_context.loseContext()
模拟上下文丢失。
WEBGL_lose_context.restoreContext()
模拟上下文恢复。

示例

使用这个扩展,你可以模拟 webglcontextlostwebglcontextrestored 事件:

var canvas = document.getElementById('canvas');
var gl = canvas.getContext('webgl');

canvas.addEventListener('webglcontextlost', function(e) {
  console.log(e); 
}, false);

gl.getExtension('WEBGL_lose_context').loseContext();

// 打印了 "webglcontextlost" 类型的 WebGLContextEvent 事件。

规范

Specification Status Comment
WEBGL_lose_context
WEBGL_lose_context
Recommendation 初始定义

浏览器兼容性

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
loseContextChrome Full support YesEdge Full support 17Firefox Full support 22
Full support 22
No support 19 — 58
Prefixed
Prefixed Implemented with the vendor prefix: MOZ_
IE ? Opera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android ? Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown
Requires a vendor prefix or different name for use.
Requires a vendor prefix or different name for use.

参阅