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 :

this.getMap().catalogue Null sous ie6


Sujet :

IGN API Géoportail

  1. #1
    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 this.getMap().catalogue Null sous ie6
    Quand mon code javascript initialement mis en <head> fonctionne sans problème et que j'essaye de le passer dans un fichier associé .js, j'ai une erreur bloquante avec ie6 intitulée: "this.getMap().catalogue a la valeur Null ou n'est pas un objet". et le géoportail ne s'affiche pas.
    Avec ie6 (et s'il n'y avait que lui!) , j'ai du mal à remonter à la source de l'erreur...
    Mais vous! Les bons programmeurs paresseux (comme mga_geo), ou non (comme dgrichard) cela doit vous déclencher des réflexes pavloviens???
    Merci.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut
    Tu as une page d'exemple? car j'ai un poste sous IE6, honte à moi!

  3. #3
    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
    Page d'essai http://43.lignon.free.fr/ign4/index12.htm
    Merci pour ta participation.
    Séquence des erreurs:

    1. Au chargement, j'ai d'abord une première erreur: "Argument non valide"
    2. Puis "this.getMap().catalogue a la valeur Null ou n'est pas un objet"
    3. Qui bloque le chargement de l'API


    Mais si alors on clique sur "En cas de problème technique" de la page d'essai, et qu'ensuite on revienne sur la page d'essai initiale (http://43.lignon.free.fr/ign4/index12.htm) avec bouton "précédent" on affiche bien l'API. Mais alors on a comme erreur non bloquant " 'this.element.scrolls' a la valeur Null ou n'est pas un objet" chaque fois qu'on agit sur la molette de souris.....

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 130
    Points : 1 765
    Points
    1 765
    Par défaut
    J'ai aussi l'erreur sous IE8. J'ai passé http://43.lignon.free.fr/ign4/js/cepia.js au "lint".

    Sur http://javascriptlint.com/online_lint.php, il trouve une erreur ligne 267, pourquoi ???

    Et sur http://www.jslint.com/, le résultat est pire!
    Lorsque le code passe ce dernier, il y a moins de soucis avec les différents navigateurs.
    Courage!

  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 Rechargement
    Citation Envoyé par cmail Voir le message
    Mais si alors on clique sur "En cas de problème technique" de la page d'essai, et qu'ensuite on revienne sur la page d'essai initiale (http://43.lignon.free.fr/ign4/index12.htm) avec bouton "précédent" on affiche bien l'API. Mais alors on a comme erreur non bloquant " 'this.element.scrolls' a la valeur Null ou n'est pas un objet" chaque fois qu'on agit sur la molette de souris.....

    Rien d'anormal à cela : le butineur "nettoie" les objets JS et comme il y a eu une erreur au préalable, il y a des erreurs au nettoyage, puis à l'utilisation ...

    Moralité: si une erreur se produit au chargement, ne surtout pas compter que l'application va fonctionner correctement.

  6. #6
    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 Lint
    Citation Envoyé par mga_geo Voir le message
    Sur http://javascriptlint.com/online_lint.php, il trouve une erreur ligne 267, pourquoi ???
    Je ne suis pas sûr que les chaînes de caractères multi-ligne soient bien analysées ... L'erreur n'existe en fait pas !

    Citation Envoyé par mga_geo Voir le message
    Et sur http://www.jslint.com/, le résultat est pire!
    Clairement, FF2/Linux explose en appuyant sur [JSLint]
    Sous FF3/Linux, on voit les erreurs, mais rien de très lié à la question d'origine ...

  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 Ordre de chargement ...
    Citation Envoyé par cmail Voir le message
    Quand mon code javascript initialement mis en <head> fonctionne sans problème et que j'essaye de le passer dans un fichier associé .js, j'ai une erreur bloquante avec ie6 intitulée: "this.getMap().catalogue a la valeur Null ou n'est pas un objet". et le géoportail ne s'affiche pas.
    Avec ie6 (et s'il n'y avait que lui!) , j'ai du mal à remonter à la source de l'erreur...

    Sous IE8, l'erreur correspond à :

    B.addRule("olv\\:*","behavior: url(#default#VML); position: absolute; display: inline-block;")

    Qui correspond à OpenLayers.Renderer.VML.js ...

    A priori, cela concernerait le ticket OL suivant ...
    Il faudrait que dans ton initGeoportalMap() tu insère le code suivant :

    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
        OpenLayers.Renderer.VML.prototype.initialize= function(containerID) {
            if (!this.supported()) {
                return;
            }
            if (!document.namespaces.olv) {
                document.namespaces.add("olv", this.xmlns);
                var style = document.createStyleSheet();
                var shapes = ['shape','rect', 'oval', 'fill', 'stroke', 'imagedata', 'group','textbox'];
                for (var i = 0, len = shapes.length; i < len; i++) {
                    style.addRule('olv\\:' + shapes[i], "behavior: url(#default#VML); " +
                                                        "position: absolute; display: inline-block;");
                }
            }
    
            OpenLayers.Renderer.Elements.prototype.initialize.apply(this,
                                                                    arguments);
            this.offset = {x: 0, y: 0};
        };
    Je l'avais déjà inséré de la version de dèv. de la 1.0beta4 ...

    Indépendamment de ce boggue fix qui ne devrait concerner que IE8, si tu ouvres une seconde fenêtre IE6 sur la page index12.htm, alors il n'y a plus d'erreurs au chargement ... ??? J'ai donc bien l'impression qu'il y a un problème au chargement ... et comme nous avons réactiver la compression des scripts mercredi, n'y aurait-il pas là un lien de cause à effet ?! J'ai pas encore trouvé comment dire à IE6 de ne pas envoyer l'en-tête "Accept-Encoding: gzip, deflate" pour tester si c'est lié.

    Ayant reçu une alerte pour un problème similaire sous IE7 pour les exemples, je dois investiguer si quelque chose d'autre n'a pas été modifié sur la production pendant mon séjour à OGRS 2009 à Nantes ...

  8. #8
    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
    Merci mga_geo pour l'indication de tes deux outils que je ne connaissais pas. Bon, j'ai du travail sur la planche pour me les approprier, mais c'est comme cela qu'on progresse...

    Merci DGrichard pour la prise en compte de mon problème. Et voici quelques nouveaux éléments:
    A mon humble avis, il faut scinder mon problème.

    1. Il me semble que la première erreur: "Argument non valide" ligne 8272, car 51 (même coordonnées que pour mon application) apparait aussi (sous ie6) quand je charge pour la première fois http://api.ign.fr/geoportail/api/doc/examples/geoportalMap_kml.html mais JAMAIS avec http://api.ign.fr/geoportail/api/doc...lMap_mini.html Donc c'est une erreur plus profonde, systèmatique, venant de l'API même.
    2. Outre cette erreur, je n'ai pas d'autres erreurs avec mes pages d'essai jusqu'à http://43.lignon.free.fr/ign4/index9.htm mais les problèmes avec "this.getMap().catalogue a la valeur Null ou n'est pas un objet" apparaissent à partir de http://43.lignon.free.fr/ign4/index10.htm


    • Avec http://43.lignon.free.fr/ign4/index10.htm pas de problème (A part "Argument non valide" comme expliqué ci-dessus) au premier chargement, mais blocage au rappel (avec CTRL + enter) de la même page index10.htm
    • Dans ce cas (API bloqué suite au rappel de la page index10.htm) je peux alors charger http://43.lignon.free.fr/ign4/index11.htm mais qui restera aussi bloqué à son propre rappel (avec CTRL + enter). Mais alors si j'appelle indexlent.htm (sur le lien "En cas de problème technique") et que je revienne sur index11.htm. C'est OK.

    3. Enfin l'erreur " 'this.element.scrolls' a la valeur Null ou n'est pas un objet" existe depuis que j'ai modifié sous tes conseils la fonction zoom avec la molette de la souris (comme indiqué à http://www.developpez.net/forums/sho...errerid=304889)

    En espérant que ces constats te serviront...

  9. #9
    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 cmail Voir le message

    1. Il me semble que la première erreur: "Argument non valide" ligne 8272, car 51 (même coordonnées que pour mon application) apparait aussi (sous ie6) quand je charge pour la première fois http://api.ign.fr/geoportail/api/doc/examples/geoportalMap_kml.html mais JAMAIS avec http://api.ign.fr/geoportail/api/doc...lMap_mini.html Donc c'est une erreur plus profonde, systèmatique, venant de l'API même.
    Je ne le crois pas, quant nous sortons une version : nous n'avons plus aucun message d'erreur lors de nos tests (FF/IE) et donc nos exemples en ligne (cela ne veut pas dire qu'il n'y ait plus d'erreurs, mais au moins nos exemples en sont dépouvus pour nos plate-formes de tests). C'est d'ailleurs pour cela que je n'ai pas mis en production la dernière version : j'ai une erreur non systèmatique sur le test multi-cartes sous IE 8 ...

    Je maintiens qu'il y a eu une modification (ou des) sur la production la semaine dernière et que c'est cela qui a fait surgir ce problème (la piste compression des JS me semblant la plus probable) !

    Citation Envoyé par cmail Voir le message

    1. Outre cette erreur, je n'ai pas d'autres erreurs avec mes pages d'essai jusqu'à http://43.lignon.free.fr/ign4/index9.htm mais les problèmes avec "this.getMap().catalogue a la valeur Null ou n'est pas un objet" apparaissent à partir de http://43.lignon.free.fr/ign4/index10.htm


    • Avec http://43.lignon.free.fr/ign4/index10.htm pas de problème (A part "Argument non valide" comme expliqué ci-dessus) au premier chargement, mais blocage au rappel (avec CTRL + enter) de la même page index10.htm
    • Dans ce cas (API bloqué suite au rappel de la page index10.htm) je peux alors charger http://43.lignon.free.fr/ign4/index11.htm mais qui restera aussi bloqué à son propre rappel (avec CTRL + enter). Mais alors si j'appelle indexlent.htm (sur le lien "En cas de problème technique") et que je revienne sur index11.htm. C'est OK.
    Cette erreur est due au non chargement par le navigateur des informations liées à la clef. Tout le reste est du à l'effet "boule de neige" ...

    Citation Envoyé par cmail Voir le message
    3. Enfin l'erreur " 'this.element.scrolls' a la valeur Null ou n'est pas un objet" existe depuis que j'ai modifié sous tes conseils la fonction zoom avec la molette de la souris (comme indiqué à http://www.developpez.net/forums/sho...errerid=304889)
    'this.elements.scrolls' n'est uniquement utilisé que dans OpenLayers.Events. J'ai déjà eu cette erreur dans le test multi-cartes qui échoue sous IE8, alors que je n'ai pas désactivé le scroll à la souris !

    De nouveau, il ne faut pas tenter de lier des causes entre elles, il n'y a qu'un effet : la première erreur ... et je dois reconnaître que je n'ai pas de réponse (pas plus que sur mon test en échec).

  10. #10
    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
    Merci pour tes explications, et oublie mes remarques péremptoires.

    Par contre, j'oserai maintenir ma première remarque.
    Si j'ouvre ie6 avec "about:blank".
    Puis je télécharge http://api.ign.fr/geoportail/api/doc/examples/geoportalMap_kml.html
    ensuite http://api.ign.fr/geoportail/api/doc...lMap_mini.html
    Pas de problème (comme tu le dis)
    Mais à partir de cette première séquence, si on continue à naviguer de l'un à l'autre on obtient (un coup sur deux, semble-t-il) une erreur : "Argument non valide" ligne 8272, car 51 (sur le fichier sortant).

    J'ai refais plusieurs fois cette manip en alternant le premier fichier téléchargé, en purgeant le cache de ie6, en relançant ie6... Et il me semble que cela se produit toujours. A toi de voir si je délire...

  11. #11
    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 cmail Voir le message
    Si j'ouvre ie6 avec "about:blank".
    Puis je télécharge http://api.ign.fr/geoportail/api/doc/examples/geoportalMap_kml.html
    ensuite http://api.ign.fr/geoportail/api/doc...lMap_mini.html
    Pas de problème (comme tu le dis)
    Mais à partir de cette première séquence, si on continue à naviguer de l'un à l'autre on obtient (un coup sur deux, semble-t-il) une erreur : "Argument non valide" ligne 8272, car 51 (sur le fichier sortant).
    Je note cette nouvelle manip, mais avec ie6, est-ce que cela vaut la peine (quelques % des navigateurs) ???

    Sur ta page, pourrais-tu commenter les lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script type="text/javascript" src="./highslide/highslide-full.packed.js"></script>
    <script type="text/javascript" src="./js/highslide.config.js"></script>
    pour vérifier qu'il n'y a pas de collision de javascript ?

  12. #12
    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
    Avec environ 15 % des navigateurs utilisés (voir [IMG]file:///C:/DOCUME%7E1/MAILLE%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg[/IMG]par exemple http://blog.britoweb.net/post/2009/0...es-navigateurs, ), la place de ie6 (certes qui décroit régulièrement) reste (à mon avis, non?) non négligeable.
    Pour le second point de ta réponse, je fais les tests demain...

  13. #13
    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 IE6 et consorts
    Citation Envoyé par cmail Voir le message
    Avec environ 15 % des navigateurs utilisés (voir [IMG]file:///C:/DOCUME%7E1/MAILLE%7E1/LOCALS%7E1/Temp/moz-screenshot.jpg[/IMG]par exemple http://blog.britoweb.net/post/2009/0...es-navigateurs, ), la place de ie6 (certes qui décroit régulièrement) reste (à mon avis, non?) non négligeable.
    C'est encore moins que cela sur l'infrastructure Géoportail !
    Ce n'est pas une raison pour ne pas regarder (les linuxiens représentent moins de 2%, loin derrière les macintoshiens avec leur 5%!)

    Dans le cas d'erreur que tu remontes, charges-tu les pages dans la même fenêtre ou dans 2 fenêtres différentes ?
    Dans le premier cas, le butineur est sensé "détruire" les objets, pas dans le second ...

  14. #14
    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
    Dans la même fenêtre...

  15. #15
    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
    Sur http://43.lignon.free.fr/ign4/index13.htm tu trouveras mon ancienne page index12.htm sans l'appel aux fichiers JS secondaires suivants, comme demandé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script type="text/javascript" src="./highslide/highslide-full.packed.js"></script>
    <script type="text/javascript" src="./js/highslide.config.js"></script>
    Ce que je constate avec ie6, dans la même fenêtre, d'une manière systématique, sauf erreur de ma part :

    1. L'erreur "Argument non valide" ligne 8272, car 51 a disparu avec index13. Mais elle se maintient TOUJOURS dans l'alternance de vos exemples d'utilisation de l'API comme indiqué dans mon suivant précédent :http://www.developpez.net/forums/m4483831-10/ .
    2. Par contre, je crois avoir progressé avec "this.getMap().catalogue a la valeur Null ou n'est pas un objet". Cette erreur n'apparait que quand on vide le cache avec la combinaison (CTRL + Enter). Si on ne fait qu'actualiser l'affichage, il n'y a pas cette erreur.

    Je te laisse en tirer les conclusions qui s'imposent. Car les miennes ne sont pas jamais très pertinentes

  16. #16
    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
    Cela ressemble de plus en plus à :

    1. un mauvais chargement de l'API;
    2. entraînant un mauvais chargement du catalogue;
    3. entrainant des erreurs à répétition.

    Le nettoyage par Ctrl+Enter ne semble pas tout nettoyer (j'ai déjà été abusé par cela) mais provoque le rechargement des composants effectivement nettoyés ...

    Le mystère reste entier !

Discussions similaires

  1. Réponses: 28
    Dernier message: 05/02/2010, 15h38
  2. [W3C] Parlons bordure et positionnement sous IE6.0 et FF
    Par bébé dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 02/10/2005, 20h47
  3. Réponses: 3
    Dernier message: 12/09/2005, 21h27
  4. [Windows 2000 server] Téléchargement FTP impossible sous IE6
    Par o151181 dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 24/11/2004, 19h00
  5. URGENT : Request.Form ne marche pas sous IE6
    Par Laurent Outan dans le forum ASP
    Réponses: 9
    Dernier message: 16/07/2004, 16h25

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