Właśnie stworzyłem aplikację do gier HTML5 i nadal otrzymuję obiekt "", który nie obsługuje logów błędów lub właściwości "getContext" niektórych moich użytkowników.HTMLCanvas 'getContext' nie jest obsługiwaną właściwością lub metodą
Moja konfiguracja pozwala tylko użytkownikom z Chrome (16 <), Firefox (9 <) lub IE (9 <) do grania. IE (< 9) użytkownicy uzyskują instalację chromeframe na ich twarzach.
To tylko niektórzy z moich użytkowników IE9, którzy rzucają ten wyjątek. Grałem w grę na kilku komputerach z systemem Windows z IE9, zarówno Vista, jak i Windows 7.
Wyszukiwanie mojego źródła, dla wywołania funkcji getContext, otrzymuję ten sam wzór. Tworzę element canvas za pomocą document.createElement, a następnie wywołuję getContext ("2d"), następny wiersz.
var buffer = /** @type {!HTMLCanvasElement} */ (document.createElement('canvas')),
ctx = /** @type {!CanvasRenderingContext2D} */ (buffer.getContext('2d')),
draw = function(ctx) {
/**
* Alot of drawing calls.
*/
};
draw(ctx);
Biorąc pod uwagę, że wiele z moich użytkowników IE9 uruchomić grę jak należy, nie sądzę, że jest to problem z mojego kodu, ale raczej pewne Pasek/plugin lub ustawienie w IE9, która jest potknięciem mnie tutaj .
Co wy myślicie?
Tak, ale jeśli użytkownicy są w trybie zgodności IE poniżej 9, powinni otrzymać wyskakujące okienko z ramką Chrome i nie być w stanie grać w grę przed zainstalowaniem ramki chrome ... W każdym razie umieściłem w nagłówku mojej strony, więc powinno to powstrzymać użytkowników przed uruchomieniem gry w trybie dziwactw IE. Nie mam zamiaru wdrażać wsparcia excanvas. Wrócę, gdy dowiem się, że metatag zmienił coś. – Firecow