HTMLCanvas 'getContext' ist keine unterstützte Eigenschaft oder Methode

8

Ich habe gerade eine HTML5-Spielanwendung gestartet, und ich empfange weiterhin das -Objekt, das die Eigenschaft oder Methode 'getContext ' Fehlerprotokolle von einigen meiner Benutzer nicht unterstützt.

Mein Setup erlaubt nur Nutzern mit Chrome (16 & lt;), Firefox (9 & lt;) oder IE (9 & lt;), das Spiel zu spielen. IE (& lt; 9) Benutzer erhalten eine Chromeframe-Installation in ihrem Gesicht.

Es sind nur einige meiner IE9-Benutzer, die diese Ausnahme auslösen. Ich habe das Spiel auf mehreren Windows-Rechnern mit IE9, Vista und Windows 7 gespielt.

Wenn ich meine Quelle suche, bekomme ich für den Funktionsaufruf getContext dasselbe Muster. Ich erstelle ein canvas-Element mit document.createElement, und dann rufe ich getContext ('2d'), die nächste Zeile.

%Vor%

Da viele meiner IE9-Benutzer das Spiel so ausführen, wie es sollte, denke ich nicht, dass dies ein Problem mit meinem Code ist, sondern eher ein Toolbar / Plugin oder eine Einstellung in IE9, die mich hier stolpern lässt.

>

Was denkt ihr?

    
Firecow 16.02.2012, 07:26
quelle

4 Antworten

10

Nach dem Einfügen von <meta http-equiv="X-UA-Compatible" content="chrome=1, IE=edge"> haben wir die Anzahl der Fehler sehr reduziert, wir haben noch ein paar, aber das könnten Nutzer sein, die sich mit seltsamen Browsern einloggen, die der chromeframe-Installationscheck nicht erfasst.

chrome = 1 bedeutet "chrome frame" verwenden, wenn es dort ist.

IE = Edge bedeutet "verwende die höchstmögliche Version von IE".

Also ich werde jetzt mit dem gehen.

    
Firecow 17.02.2012 10:17
quelle
3

soweit ich weiß IE9 unterstützt Canvas-Tag vollständig. Der Benutzer sollte jedoch sicherstellen, dass er sich nicht im Kompatibilitätsmodus befindet. Aber um das Problem zu vermeiden, schlage ich vor, dass Sie Exvanvas verwenden. Wenn Sie nicht wissen, wie Download Exvanvas und folgenden Link hinzufügen

%Vor%     
thecodejack 16.02.2012 07:49
quelle
0

Haben Sie die Möglichkeit in Betracht gezogen, dass Benutzer nicht wissen, welche Version von IE sie verwenden und sie nicht korrekt melden?

    
x10 16.02.2012 08:15
quelle
0

Von Anweisungen

Dynamisch erzeugte Elemente Wenn Sie Ihr canvas-Element dynamisch erstellt haben, wird die getContext-Methode dem Element nicht hinzugefügt. Damit es funktioniert, müssen Sie initElement für das G_vmlCanvasManager-Objekt aufrufen.

%Vor%     
kirill.buga 15.07.2013 07:31
quelle