CanvasRenderingContext2D:isContextLost() 方法

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Canvas 2D API 的 CanvasRenderingContext2D.isContextLost() 方法用于检查渲染上下文是否丢失(且尚未重置)。这可能由于驱动程序崩溃、内存耗尽等原因发生。

如果用户代理检测到画布后备存储丢失,它会在相关的 HTMLCanvasElement 上触发 contextlost 事件。如果这个事件没有被取消,用户代理将尝试将后备存储重置为默认状态(相当于调用 CanvasRenderingContext2D.reset())。成功后,它会触发 contextrestored 事件,表示上下文已准备好重新初始化和重绘。

语法

js
isContextLost()

参数

无。

返回值

如果渲染上下文已丢失,则返回 true;否则返回 false

示例

js
const ctx = canvas.getContext("2d");

if (ctx.isContextLost()) {
  console.log("上下文已丢失");
}

规范

Specification
HTML
# dom-context-2d-iscontextlost

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
isContextLost

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

参见