JavaScript не удалось выполнить «transferControlToOffscreen»

#javascript #html #canvas #offscreen-canvas

#javascript #HTML #холст #за кадром-холст

Вопрос:

Я пытаюсь выполнить приведенный ниже код для передачи canvas рабочему:

 var mycanvas = document.getElementById('mycanvas');
var offscreenCanvas = mycanvas.transferControlToOffscreen(); // Uncaught InvalidStateError: Failed to execute 'transferControlToOffscreen'
// Code to transfer to worker.js  
 <div id="divCanvas" style="width:100%;">
    <canvas id="mycanvas"></canvas>
</div>  

Но когда я выполняю приведенный ниже код, он работает:

 var mycanvas = document.createElement('canvas');
mycanvas.setAttribute("id", "canvasChart1");
document.getElementById('divCanvas').appendChild(mycanvas);
var offscreenCanvas = mycanvas.transferControlToOffscreen();  
 <div id="divCanvas" style="width:100%;"></div>  

В чем разница между обеими реализациями?
Можем ли мы избежать создания canvas во время выполнения и использовать существующий?

Комментарии:

1. Не удается воспроизвести. Есть ли у вас какие-либо плагины или другие скрипты на странице, которые могли бы попытаться получить контекст из холста до запуска вашего скрипта? Кстати, сообщение об ошибке должно рассказать вам больше о том, почему не удалось выполнить вызов ( Не удается передать управление с холста более одного раза. или не удается передать управление с холста, который имеет контекст рендеринга. )