IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IGN API Géoportail Discussion :

Plantage à la réactualisation sous IE8


Sujet :

IGN API Géoportail

  1. #1
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut Plantage à la réactualisation sous IE8
    Les tests d'affichage de cette page sont bons en apparence :

    Tout est OK sur IE8, FF et Chrome.

    Par contre, si l'on actualise la page avec IE8, c'est le plantage (affichage partiel de la carte du monde). Il faut vider le cache pour remettre les choses en ordre.

    Problème uniquement avec IE8 car tout va bien avec les autres navigateurs.

    Une idée ?

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par Zébulon-21 Voir le message
    Par contre, si l'on actualise la page avec IE8, c'est le plantage (affichage partiel de la carte du monde). Il faut vider le cache pour remettre les choses en ordre.

    Problème uniquement avec IE8 car tout va bien avec les autres navigateurs.
    Peux-tu donner les messages d'erreurs (petite icône en bas à gauche de la fenêtre du navigateur -> Détails) ?

  3. #3
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    Peux-tu donner les messages d'erreurs (petite icône en bas à gauche de la fenêtre du navigateur -> Détails) ?
    Oui dgrichard :
    Détails de l’erreur de la page Web

    Agent utilisateur : Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.4; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Horodateur : Wed, 28 Apr 2010 09:15:58 UTC

    Message*: Erreur non spécifiée.
    Ligne*: 97
    Caractère*: 118289
    Code*: 0
    URI*: http://api.ign.fr/geoportail/api/js/1.0/Geoportal.js

  4. #4
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    C'est nettement mieux depuis que j'ai ajouté cette ligne
    <script type="text/javascript" src="http://api.ign.fr/geoportail/api/js/1.0/GeoportalExtended.js"></script>
    Merci de m'avoir aidé à mettre le doigt dessus dgrichard

  5. #5
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par Zébulon-21 Voir le message
    C'est nettement mieux depuis que j'ai ajouté cette ligne
    Peut-être, mais c'est une fausse bonne piste, l'API est chargée deux fois ...
    Comme j'ai corrigé des bugs sous IE (en partculier à la fermeture, cela pourrait être lié) ...

  6. #6
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    Bon, quoi faire dans ce cas

    Statu quo ? J'annule la modif ? J'attends du nouveau ?

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    Peut-être, mais c'est une fausse bonne piste, l'API est chargée deux fois ...
    Comme j'ai corrigé des bugs sous IE (en partculier à la fermeture, cela pourrait être lié) ...
    L'erreur est celle-là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    return !!(document.namespaces);
    Une explication est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    As Jeff Dege describes in an earlier post, indeed,
    placing the map initialisation function call in the
    body onload event solves the problem.  Anyone that
    might have a work-around or better solution, please do
    share; I'd like to know how I might get around this
    limitation if I were ever attempting to put VML
    capability in an OL client running in a portlet.
    Ce qui est énervant, c'est que la page charge justement l'API (et initialise donc la carte) au bon moment ... comme expliqué ?!

    ... et bien sûr, cela ne touche qu'IE

  8. #8
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par Zébulon-21 Voir le message
    Statu quo ? J'annule la modif ? J'attends du nouveau ?
    Annuler la modif : sûr ...
    Ils écrivent dans les FAQ qu'il faut assigner document.namespaces avant le chargement des vecteurs

    mais, je ne comprends pas ... L'équipe OpenLayers considère cela comme un problème IE en attendant de trouver une solution : http://trac.openlayers.org/ticket/2304

  9. #9
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut Trouvé la soluce
    Il semblerait que le problème provienne de la construction du haut de page.

    A confirmer donc pour les autres cas mais pour ma part les multiples essais faits jusqu'à présent semblent confirmer la soluce.

    Il faut faire remonter la ligne du <script... de l'API juste en dessous des <meta... en faisant descendre en dessous tous les <link href... (même celui de l'image favicon.ico), comme ceci :
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Exemple 12 - API Géoportail V1.0</title>
    <meta name="Keywords" content="Exemples, API'Géoportail"/>
    <meta name="Description" content="Exemple 12 - Page API Géoportail"/>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <script type="text/javascript"
    src="http://api.ign.fr/geoportail/api?v=1.0&amp;key=4432403584172332949&amp;instance=VISU&amp;"></script>

    <link href="images/favicon.ico" type="image/x-icon" rel="shortcut icon"/>
    <link href="http://api.ign.fr/geoportail/api/js/1.0/theme/default/style.css" type="text/css" rel="stylesheet"/>
    <link href="http://api.ign.fr/geoportail/api/js/1.0/theme/geoportal/style.css" type="text/css" rel="stylesheet"/>
    <link href="css/demo01.css" type="text/css" rel="stylesheet" />

  10. #10
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    J'ai des doutes ...
    Je continue à penser que l'API est appelée trop tôt et que le butineur n'a pas finit de tout charger ...
    Reste à trouver comment faire

  11. #11
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    La configuration joue peut-être aussi (OS, débit...) ?

    Il est vrai que les plantages ne disparaissent pas totalement (1 sur 10 ?) avec la seconde solution qui consiste à faire remonter la ligne du <script... de l'API juste en dessous des <meta....

    La plus mauvaise solution est celle-ci : plantage de l'affichage de la carte presque à chaque actualisation.

    En revanche la solution idéale (aucun plantage) reste celle-ci en ajoutant cette ligne :
    <script type="text/javascript" src="http://api.ign.fr/geoportail/api/js/1.0/Geoportal.js"></script>
    A propos, quel est l'inconvénient d'utiliser cette ruse sioux qui d'ailleurs marche aussi bien avec l'URL sur Geoportal.js que sur GeoportalExtended.js ?

    Citation Envoyé par dgrichard Voir le message
    Annuler la modif : sûr ...

  12. #12
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par Zébulon-21 Voir le message
    La configuration joue peut-être aussi (OS, débit...) ?
    C'est certain, j'ai expérimenté sur clef 3G, et il y a des problèmes ...

    Citation Envoyé par Zébulon-21 Voir le message
    Il est vrai que les plantages ne disparaissent pas totalement (1 sur 10 ?) avec la seconde solution qui consiste à faire remonter la ligne du <script... de l'API juste en dessous des <meta....

    La plus mauvaise solution est celle-ci : plantage de l'affichage de la carte presque à chaque actualisation.
    C'est effectivement pas la méthode conseillé, l'ordre normal de construction est :

    * les balises <meta>;
    * les <script> : le butineur exécute des chargements, il faut attendre ensuite leur exécution;
    * les <link> : il FAUT absoluement qu'ils soient après le <script> et non AVANT sinon l'API les recharge ...
    * les <style>;


    Citation Envoyé par Zébulon-21 Voir le message
    En revanche la solution idéale (aucun plantage) reste celle-ci en ajoutant cette ligne :
    Cette ruse consiste simplement à charger deux fois l'API.
    Tu peux faire (mode expert) comme ceci qui est plus logique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <head>
    <title></title>
    <meta .../>
    <script src="http://api.ign.fr/geoportail/api?...&amp;includeEngine=false&amp;>
    <!--
      -->
    </script>
    <script type="text/javascript" src="http://api.ign.fr/geoportail/api/js/1.0/Geoportal[Minimum||Extended].js"></script>
    <script type="text/javascript">
    <!--
    //initGeoportalMap() ou autre procédure sur le onload
      -->
    </script>
    <link .../><!-- les CSS API-->
    <style type="text/css">
    <!--
    /* les surcharges */
      ->
    </style>
    </head>
    <body> ou <body onload="autre procédure">
    </body>
    </html>
    De cette manière :

    * l'API est chargée une seule fois;
    * les CSS sont chargées AVANT l'API qui ne les charge pas à nouveau (surcharge facilitée)

    On travaille actuellement sur le modèle de chargement de l'API pour l'améliorer encore petit à petit

  13. #13
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    Merci dgrichard, c'est sympa de rappeler les bases que j'ignorais pour partie et mon cas n'est certainement pas isolé.

    Etant d'un naturel discipliné, je mets ça en application.

  14. #14
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut Une exception à la règle
    Le fait de placer les styles en fin de page comme ceci :
    <link href="http://api.ign.fr/geoportail/api/js/1.0/theme/default/style.css" type="text/css" rel="stylesheet"/>
    <link href="http://api.ign.fr/geoportail/api/js/1.0/theme/geoportal/style.css" type="text/css" rel="stylesheet"/>
    </head>
    <body>
    Fait perdre une partie des styles perso, comme par exemple les propriétés concernant la bordure de la carte .gpMainMapCell

    - ICI avec bordure personnalisée,

    - ICI sans bordure personnalisée.

    Dans ce cas précis, peut-on sans gros inconvénient faire une exception à la règle en faisant remonter les <link href... en tête de page ?

  15. #15
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par Zébulon-21 Voir le message
    Dans ce cas précis, peut-on sans gros inconvénient faire une exception à la règle en faisant remonter les <link href... en tête de page ?
    Non, non, une seule règle :

    « les link vers les styles API toujours AVANT les surcharges ... »

  16. #16
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Fait perdre une partie des styles perso, comme par exemple les propriétés concernant la bordure de la carte .gpMainMapCell

    - ICI avec bordure personnalisée,

    - ICI sans bordure personnalisée.
    Je ne comprends pas très bien...

    1. Le premier lien renvoie vers erreur 404
    2. le deuxième lien ouvre sur l'API avec une bordure personnalisée via css/demo01.css en
      border:4px solid #CCFF00; Non?

  17. #17
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    Salut cmail, de retour de vacances ?

    Certes, je suis certainement allé un peu vite dans le nettoyage des fichiers car toute la solution était contenue dans la réponse de dgrichard...
    En résumé, pour que tes styles perso soient tous bien pris en compte, il faut :
    - loger tous les CSS entre le dernier </script> et </head>
    - et surtout, faire passer ton CSS perso en dessous des CSS de l'API.

    J'ai testé et c'est OK comme ceci :
    </script>
    <!-- CSS incluses facilitant la surcharge des styles : -->
    <link href="http://api.ign.fr/geoportail/api/js/1.0/theme/default/style.css" type="text/css" rel="stylesheet"/>
    <link href="http://api.ign.fr/geoportail/api/js/1.0/theme/geoportal/style.css" type="text/css" rel="stylesheet"/>
    <!-- Surcharge de styles : -->
    <link href="css/demo01.css" type="text/css" rel="stylesheet"/>
    </head>

  18. #18
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    On travaille actuellement sur le modèle de chargement de l'API pour l'améliorer encore petit à petit
    Le résultat annoncé est là puisque, avec les versions 1.1 et 1.2, il n'y a plus d'erreurs à l'actualisation sous IE8.

    On peut donc classer le sujet "résolu"

  19. #19
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    Citation Envoyé par Zébulon-21 Voir le message
    On peut donc classer le sujet "résolu"
    Merci Zébulon-21

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Plantage application xmlrad2006 sous Linux
    Par ulys dans le forum XMLRAD
    Réponses: 0
    Dernier message: 25/03/2008, 17h52
  2. [VLC] plantage de VLC sous ubuntu
    Par dragonfly dans le forum Vidéo
    Réponses: 0
    Dernier message: 04/02/2008, 20h55
  3. plantage au démarrage sous kubuntu
    Par firstouss dans le forum Ubuntu
    Réponses: 9
    Dernier message: 18/01/2008, 13h48
  4. Plantage de service sous Windows 2003 server
    Par akasim73 dans le forum MFC
    Réponses: 2
    Dernier message: 10/11/2005, 15h49
  5. [CVS]: plantage du service sous win32
    Par sleepy2002 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 01/06/2004, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo