我今天從Chrome版本17升級到Chrome:18.0.1025.142。Google Chrome - context.canvas.width/context.canvas.width導致「藍色圖層」
我注意到我正在使用的一個網絡應用程序有一個奇怪的藍色圖層,它在加載時出現,然後在開始滾動時消失。
我已經在我的JS追蹤這歸因於以下幾行:
context.canvas.width = canWidth;
context.canvas.height = canHeight;
canWidth和canHeight是動態生成的。
將這些行註釋掉會停止呈現藍色圖層,但這不是一個解決方法,因爲我需要使用動態生成的值來控制畫布寬度/高度。
我還試圖將context.canvas.width和context.canvas.height硬編碼爲600,這也產生了藍色層問題。
這在以前版本的Chrome中不是問題,我在FireFox中沒有任何問題。
關於這個問題可能有什麼建議?
編輯:
這裏的代碼,其中上述駐留(nodeLeft和nodeTop被其他地方產生)塊:
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();
你上載或鼠標移動做一次添加的代碼/鼠標鬆開?加載時爲 – 2012-04-04 13:44:17
,然後在拖動節點時繼續進行鼠標移動。 – ctdeveloper 2012-04-05 18:13:12
調整畫布的大小比寫入畫面要慢很多。如果你在鼠標移動時這樣做,那可能是問題所在。設置完畫布大小後,您只需清除畫布大小的矩形即可。 – 2012-04-05 19:29:50