Tôi vừa mới công bố ứng dụng trò chơi HTML5 và tôi tiếp tục nhận được đối tượng 'không hỗ trợ thuộc tính hoặc phương pháp' getContext 'nhật ký lỗi từ một số người dùng của tôi.HTMLCanvas 'getContext' không phải là thuộc tính hoặc phương thức được hỗ trợ
Thiết lập của tôi chỉ cho phép người dùng có Chrome (16 <), Firefox (9 <) hoặc IE (9 <) để chơi trò chơi. IE (< 9) người dùng nhận cài đặt chromeframe trên khuôn mặt của họ.
Chỉ một số người dùng IE9 của tôi ném ngoại lệ này. Tôi đã chơi trò chơi trên một số cửa sổ máy với IE9, cả vista và windows 7.
Tìm kiếm nguồn của tôi, cho hàm getContext, tôi nhận được cùng một mẫu. Tôi tạo một phần tử canvas bằng cách sử dụng document.createElement, và sau đó tôi gọi getContext ('2d'), dòng tiếp theo.
var buffer = /** @type {!HTMLCanvasElement} */ (document.createElement('canvas')),
ctx = /** @type {!CanvasRenderingContext2D} */ (buffer.getContext('2d')),
draw = function(ctx) {
/**
* Alot of drawing calls.
*/
};
draw(ctx);
Cho rằng rất nhiều người dùng IE9 tôi chạy các trò chơi như nó phải, tôi không nghĩ rằng đây là một vấn đề với mã của tôi, mà đúng hơn là một số thanh công cụ/plugin hoặc thiết lập trong IE9 được vấp ngã tôi ở đây .
Các bạn nghĩ sao?
Vâng, nhưng nếu người dùng ở chế độ tương thích IE dưới 9, họ sẽ nhận được cửa sổ bật lên Chrome Frame và không thể chơi trò chơi trước khi cài đặt khung chrome ... http-equiv = "Nội dung tương thích X-UA" = "IE = 9"> trong tiêu đề trang của tôi, do đó sẽ giữ cho người dùng không thể chạy trò chơi ở chế độ quirks của IE. Tôi không có ý định triển khai hỗ trợ excanvas. Tôi sẽ quay trở lại, khi tôi biết nếu thẻ meta đã thay đổi bất cứ điều gì. – Firecow