Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

HTMLCanvasElement : méthode transferControlToOffscreen()

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨mars 2023⁩.

La méthode transferControlToOffscreen() de l'interface HTMLCanvasElement transfère le contrôle à un objet OffscreenCanvas, soit sur le fil d'exécution principal, soit dans un worker.

Syntaxe

js
transferControlToOffscreen()

Paramètres

Aucun.

Valeur de retour

Un objet OffscreenCanvas.

Exceptions

InvalidStateError DOMException

Levée si :

  • le canevas a déjà reçu un mode de contexte via HTMLCanvasElement.getContext()
  • le canevas a déjà transféré son contrôle vers un objet canvas hors écran.

Exemples

L'exemple suivant montre comment transférer le contrôle à un objet OffscreenCanvas sur le fil d'exécution principal :

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

// Quelques dessins avec le contexte gl…

L'exemple suivant montre comment transférer le contrôle à un objet OffscreenCanvas dans un worker :

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

Spécifications

Specification
HTML
# dom-canvas-transfercontroltooffscreen-dev

Compatibilité des navigateurs

Voir aussi