Ho eseguito l'upgrade da Chrome versione 17 a Chrome: 18.0.1025.142 oggi.Google Chrome - context.canvas.width/context.canvas.width provoca "Blue layer"
Ho notato che una delle app Web su cui sto lavorando ha uno strano livello blu che appare sul caricamento e quindi scompare quando si avvia lo scorrimento.
ho rintracciato questo fino alle seguenti righe nei miei JS:
context.canvas.width = canWidth;
context.canvas.height = canHeight;
canWidth e canHeight sono generati in modo dinamico.
Commentando queste righe si arresta il rendering del livello blu, tuttavia questa non è una correzione in quanto è necessario utilizzare i valori generati dinamicamente per controllare la larghezza/altezza del canvas.
Ho anche tentato di codificare hard context.canvas.width e context.canvas.height a 600 e questo ha anche generato il problema del livello blu.
Questo non era un problema nelle versioni precedenti di Chrome e non ho alcun problema in FireFox.
Qualche suggerimento su quale potrebbe essere il problema?
Edit:
Ecco il blocco di codice in cui risiede sopra (nodeLeft e nodeTop vengono generate altrove):
context.clearRect (0 , 0 ,canWidth, canHeight);
context.canvas.width = canWidth;
context.canvas.height = canHeight;
context.beginPath();
context.moveTo(x, y);
context.lineTo(nodeLeft, nodeTop);
context.strokeStyle = "#000000";
context.lineCap = "round";
context.stroke();
stai facendo il codice aggiunto una volta sul carico o MouseMove/MouseUp? –
al caricamento, quindi sui successivi movimenti del mouse quando viene trascinato un nodo. – ctdeveloper
Il ridimensionamento della tela è molto più lento rispetto alla scrittura. Se lo fai sui movimenti del mouse, questo potrebbe essere il problema. Dopo aver impostato le dimensioni della tela, è necessario solo cancellare il rettangolo della dimensione della tela. –