Shakie
Erfahrenes Mitglied
Ich benutze für eine HTML-Seite <canvas> und um IE zu unterstützen habe ich explorercanvas eingebunden. Das funktioniert soweit sehr gut.
Das lade ich im HTML via
Ich will jetzt mit JavaScript prüfen, ob ich canvas tatsächlich verwenden kann. Es gibt ja noch weitere Browser die kein Canvas können.
Das wollte ich mit JavaScript so machen:
wobei "blabla" ein canvas-Element ist.
Allerdings funktioniert diese Prüfung nicht mehr, wenn ich explorercanvas geladen habe. Ich verstehe leider die Magie hinter explorercanvas nicht. supported ist im IE immer auf FALSE.
Trotzdem liefert mir
den richtigen Context, mit dem ich zeichnen kann.
Frage:
Wie kann ich jetzt prüfen, ob der Browser Canvas-Unterstützung hat oder nicht bzw. excanvas geladen wurde?
Ich habe mir überlegt dem excanvas-script eine id zu geben und dann zu prüfen, ob das script-element existiert, aber dann müsste ich in meinem JavaScript immer wissen, wie ich im HTML das Element genannt habe:
Wie würdet ihr das machen?
Das lade ich im HTML via
HTML:
<!--[if IE]><script src="js/excanvas.compiled.js"></script><![endif]-->
Das wollte ich mit JavaScript so machen:
Code:
var supported = Boolean(document.getElementById('blabla').getContext)
Allerdings funktioniert diese Prüfung nicht mehr, wenn ich explorercanvas geladen habe. Ich verstehe leider die Magie hinter explorercanvas nicht. supported ist im IE immer auf FALSE.
Trotzdem liefert mir
Code:
document.getElementById('blabla').getContext('2d')
Frage:
Wie kann ich jetzt prüfen, ob der Browser Canvas-Unterstützung hat oder nicht bzw. excanvas geladen wurde?
Ich habe mir überlegt dem excanvas-script eine id zu geben und dann zu prüfen, ob das script-element existiert, aber dann müsste ich in meinem JavaScript immer wissen, wie ich im HTML das Element genannt habe:
HTML:
<!--[if IE]><script id="explorercanvas" src="js/excanvas.compiled.js"></script><![endif]-->
Code:
var obj = document.getElementById('blabla');
canvasSupport = Boolean(obj.getContext);
if (!canvasSupport) {
var test = document.getElementById('explorercanvas');
canvasSupport = Boolean(test);
};
if (canvasSupport) {
// jetzt kann ich tatsächlich mit canvas zeichnen!
};
Zuletzt bearbeitet: