HTMLCanvasElement: transferControlToOffscreen() 方法

Baseline 已广泛支持

此功能已成熟,并可在许多设备和浏览器版本上运行。自 2023 年 3 月以来,它已在各种浏览器中可用。

HTMLCanvasElement.transferControlToOffscreen() 方法将控制权转移到 OffscreenCanvas 对象,该对象可能位于主线程或 worker 中。

语法

js
transferControlToOffscreen()

参数

无。

返回值

一个 OffscreenCanvas 对象。

异常

InvalidStateError DOMException

如果发生以下情况,则会抛出错误:

示例

以下示例显示了如何将控制权转移到主线程中的 OffscreenCanvas 对象。

js
const htmlCanvas = document.createElement("canvas");
const offscreen = htmlCanvas.transferControlToOffscreen();
const gl = offscreen.getContext("webgl");

// Some drawing using the gl context…

以下示例显示了如何将控制权转移到 worker 中的 OffscreenCanvas 对象。

js
const offscreen = document.querySelector("canvas").transferControlToOffscreen();
const worker = new Worker("my-worker-url.js");
worker.postMessage({ canvas: offscreen }, [offscreen]);

规范

规范
HTML
# dom-canvas-transfercontroltooffscreen-dev

浏览器兼容性

另见