我剛剛推出了一個HTML5遊戲應用程序,並且我不斷收到'對象不支持屬性或方法'getContext'錯誤日誌從我的一些用戶。HTMLCanvas'getContext'不是受支持的屬性或方法
我的設置僅允許使用Chrome(16 <),Firefox(9 <)或IE(9 <)的用戶玩遊戲。 IE(< 9)用戶在他們的臉上獲得了一個chromeframe安裝。
它只有一些我的IE9用戶拋出這個異常。 我已經玩過幾款裝有IE9的Windows機器上的遊戲,包括vista和windows 7.
搜索我的源代碼,對於函數調用getContext,我得到了相同的模式。 我使用document.createElement創建一個畫布元素,然後我調用getContext('2d'),下一行。
var buffer = /** @type {!HTMLCanvasElement} */ (document.createElement('canvas')),
ctx = /** @type {!CanvasRenderingContext2D} */ (buffer.getContext('2d')),
draw = function(ctx) {
/**
* Alot of drawing calls.
*/
};
draw(ctx);
鑑於很多我的IE9用戶運行該遊戲,因爲它應該,我不認爲這是我的代碼有問題,而是一些工具欄/插件或IE9設置,在這裏我絆倒。
你們認爲什麼?
是的,但如果用戶在IE兼容模式9以下,他們應該得到一個Chrome Frame彈出窗口,並且不能在Chrome框架安裝前玩遊戲......無論如何,我已經把在我的頁面標題中,這樣可以防止用戶在IE怪癖模式下運行遊戲。我無意部署excanvas支持。我會回來,當我知道元標記是否改變了任何東西。 – Firecow 2012-02-16 08:00:32