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