2016-07-01 3 views
0

Pour autant que je puisse voir, Mapbox GL JS n'est pas supporté par IE 10 et ci-dessous. Correct? Je veux implémenter GL-JS pour mon site, mais j'ai besoin de supporter ces navigateurs incompatibles, et j'espère trouver une solution élégante, en leur montrant probablement la couche de carreaux de mapbox que j'utilise actuellement.Prise en charge des navigateurs plus anciens (IE IE 10)?

Je pensais que les commentaires conditionnels IE le feraient, mais ils ne fonctionnent que jusqu'à IE9, laissant un espace où beaucoup de mes utilisateurs sont.

Je sais que je peux utiliser if (!mapboxgl.supported()) dans le bloc fonction javascript, mais j'ai aussi besoin de charger conditionnellement les fichiers javascript et css. Aucun point de chargement les deux - serait probablement provoquer des conflits, et c'est tout simplement douteux.

Alors ... suggestions?

Répondre

1

MapBox GL JS rend les cartes à l'aide de WebGL qui est disponible uniquement dans le IE11 +

Si la compatibilité est importante, vous avez deux options:

  1. utilisation Mapbox.js (tuiles raster) dans tous les cas
  2. utilisation MapBox GL JS dans les navigateurs pris en charge, utilisez Mapbox.js dans les navigateurs non pris en charge

Vous pouvez vérifier le soutien sans charger inutilement Javascript ou CSS les fichiers en utilisant le module mapbox-gl-supported et des fichiers supplémentaires chargement JS et CSS dynamiquement

var scriptElement = document.createElement('script'); 
scriptElement.setAttribute('src', 'https://api.mapbox.com/mapbox-gl-js/v0.20.1/mapbox-gl.js'); 
document.body.appendChild(scriptElement); 
+0

Lucas, merci pour cela, que je suis en vacances, alors que nous venons de rentrer de l'essayer. Il semble être exactement ce que je veux, mais il me semble qu'il me manque quelque chose et je ne peux pas le faire fonctionner. :-( Sans même avoir recours au module mapbox-gl-supported, j'ai essayé de charger simplement le js en utilisant cette méthode et je n'ai rien obtenu De toute évidence, je ne suis pas un expert de js.C'est tout ce que j'ai: https : //dl.dropboxusercontent.com/u/1039367/browser.html – woowoowoo

+0

OK, donc j'ai réussi à charger dynamiquement des éléments, mais je rencontre des problèmes avec l'ordre dans lequel ils se chargent.Le script dans le corps de la page, demande la carte avant que le javascript à distance ait chargé - BOOM !! Un exemple de travail serait délicieux, bien que je réalise que cela peut être un étirement! – woowoowoo

+0

Jetez un oeil à https://www.mapbox.com/mapbox-gl-js/example/check-for-support/ –