Re: [OSM-dev-fr] Aide html/javascript
Ce ne serait pas une limite de sécurité des XmlHttpRequest imposée par IE8 pour une requête inter-domaine qui empêche la requête de s'exécuter ? Deux lignes bizarres (dans ton main.js): xhr.setRequestHeader( Content-length, params.length ); xhr.setRequestHeader( Connection, close ); Pour la première ce n'est pas la bonne valeur, car tu compte le nombre de caractères UTF-16 de la chaîne Javascript et non son encodage dans la requête (UTF-8) et aussi il manque le réencodage HTTP des sauts de ligne. Tout dépend de ce qui est dans params. De plus tu utilises à la fois des param_tres POST et des paramètres GET dans une requête POST: xhr.open(POST, getDepartement.php?ville= + ville, true ); Pour pas simplement dans ce cas ne pas tout mettre dans la query string et utiliser une requête GET? Pour la seconde, Connection:close est suspect. A priori on ne précise que la condition keep-alive (si la requête se fait en HTTP/1.0 et sinon rien en HTTP/1.1). Les deux entêtes Connection:close et Content-length:* sont marqués unsafe par la console de Chrome mais je soupçonne que le vieux XmlHTTPRequest d'IE8 soit plus radical et rejette ta requête. A priori c'est au composant XMLHttpRequest de s'en charger. Enfin XMLHttpRequest dans IE a été un activeX nécessitant une autorisation spéciale et qui peut sinon t'empêcher de faire une requête interdomaine. Mais ici l'URL que tu utilises dans xhr.open() ne précise pas le domaine et si XmlHTTPRequest est un composant externe, il n'aura pas accès tout seul à l'URL de base de ton document. Il faut alors préciser l'URL complète et pas une URL relative; Cela concerne aussi: xmlhttp.open(GET, getCenter.php?dep= + dep + ville= + ville); où cette fois tu n'utilises que des paramètres GET (dans la query-string), requête qui a l'avantage d'être cachable par défaut au contraire des requêtes POST. Le 28 avril 2014 13:00, Tyndare tynd...@wanadoo.fr a écrit : Le 28 avril 2014 06:15, didier2...@free.fr a écrit : je viens juste d'essayer sur windows xp + avec ie8: - en bas a droite de la page web, le lien de l'image openstreetmap.fr est brisé : http://www.cleo-carto.com/images/cartouche_osm-fr.png mais il y a une redirection de cleo ... Effectivement. Je ne connais pas trop l'historique du site web. Quelqu'un sais où trouver une image cartouche osm fr pour remplacer ? - la selection du departement fonctionne mais la liste des communes est vide La je sèche... La liste est normalement remplie en modifiant la valleur innerHTML avec le résultat d'une XmlHttpRequest. Je ne sais pas trop ce qui pose problème avec IE8. ___ dev-fr mailing list dev-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/dev-fr ___ dev-fr mailing list dev-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/dev-fr
Re: [OSM-dev-fr] Aide html/javascript
Le 28 avril 2014 14:36, Philippe Verdy verd...@wanadoo.fr a écrit : Ce ne serait pas une limite de sécurité des XmlHttpRequest imposée par IE8 pour une requête inter-domaine qui empêche la requête de s'exécuter ? A mon avis, étant donné qu'on ne précise pas le domaine de la requête il s'agit d'une requête sur le même domaine. Deux lignes bizarres (dans ton main.js): xhr.setRequestHeader( Content-length, params.length ); xhr.setRequestHeader( Connection, close ); Pour la première ce n'est pas la bonne valeur, car tu compte le nombre de caractères UTF-16 de la chaîne Javascript et non son encodage dans la requête (UTF-8) et aussi il manque le réencodage HTTP des sauts de ligne. Tout dépend de ce qui est dans params. De plus tu utilises à la fois des param_tres POST et des paramètres GET dans une requête POST: xhr.open(POST, getDepartement.php?ville= + ville, true ); Pour pas simplement dans ce cas ne pas tout mettre dans la query string et utiliser une requête GET? Ce n'est pas moi qui avait écrit cette partie à la base, je n'ai pas voulu trop la changer pour éviter de casser un truc qui marche, mais effectivement une requête GET semblerais plus logique. Pour la seconde, Connection:close est suspect. A priori on ne précise que la condition keep-alive (si la requête se fait en HTTP/1.0 et sinon rien en HTTP/1.1). Les deux entêtes Connection:close et Content-length:* sont marqués unsafe par la console de Chrome mais je soupçonne que le vieux XmlHTTPRequest d'IE8 soit plus radical et rejette ta requête. A priori c'est au composant XMLHttpRequest de s'en charger. Enfin XMLHttpRequest dans IE a été un activeX nécessitant une autorisation spéciale et qui peut sinon t'empêcher de faire une requête interdomaine. Mais ici l'URL que tu utilises dans xhr.open() ne précise pas le domaine et si XmlHTTPRequest est un composant externe, il n'aura pas accès tout seul à l'URL de base de ton document. Il faut alors préciser l'URL complète et pas une URL relative; Le composant axtiveX c'était je crois pour ie6, pas ie8. ___ dev-fr mailing list dev-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/dev-fr
Re: [OSM-dev-fr] Aide html/javascript
Le 28 avril 2014 16:16, Tyndare tynd...@wanadoo.fr a écrit : Le composant axtiveX c'était je crois pour ie6, pas ie8. Je ne suis pas certain qu'il soit disparu même si IE donne une interface native pour l'instancier. Utiliser directement les XHR pose des problèmes de compatibilité. Cela fait longtemps que je n'utilise plus les XHR de cette façon, mais j'utilise un framework. Il y a même une intégration plus poussée avec le framework Leaflet pour ses mixins. Sinon j'en ai soupé de suivre les versions d'IE qui changent leurs API sans arrêt ou la façon de les utiliser en préservant la compatibilité de ce qui se faisait dans les versions d'avant (et pas toujours des moyens simples pour détecter la bonne façon de faire). Tu peux déjà essayer en utilisant une URL absolue et non une URL relative (la question qui se pose est bien relative à quoi ? Il est possible que cette requête ne s'exécute pas du tout en fait (rien envoyé au serveur, ou erreur HTTP 404, j'ai déjà eu des trucs bizarres avec les XHR utilisant des URL relatives mal résolues, parfois liées à des threads concurrents qui interrogent d'autres serveurs XHR) Sinon, les XHR sont un peu obsolètes, les requêtes JSON ont une intégration native et plus sécurisée (et moins de contraintes et plus de performance, même si ici les requêtes ne sont pas énormes et fréquentes). Même si au final tes requêtes XHR ne servent pas à charger du XML nécessitant un parseur lourd côté client. Enfin sur Chrome la première requête effectuée (si on n'a encore rien saisi dans la commune) en sélectionnant un département est .http://cadastre.openstreetmap.fr/getDepartement.php?ville=undefined Tu noteras la présence de undefined qui signale une variable non initialisée (le nom de la ville cherchée). Je ne sais pas ce qui est transmis en valeur sous IE et comment cela affecte ensuite la recherche des communes... ___ dev-fr mailing list dev-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/dev-fr
Re: [OSM-dev-fr] Aide html/javascript
J'ai pu tester sur IE9 et il a manifestement le même problème qu'IE8. Apparemment le problème n'a rien a voir avec la requête XmlHttpRequest qui fonctionne très bien, le problème est du à un bug d'IE quand on affecte l'innerHTML d'un élément select [1]. Merci quand même Philippe pour tes remarques sur le XHR, même si je n'ai pas tout compris j'ai essayé de passer en mode GET et j'ai supprimé le paramètre 'ville' qui n'était plus vraiment utile. [1] http://support.microsoft.com/kb/276228/fr Le 28 avril 2014 18:31, Philippe Verdy verd...@wanadoo.fr a écrit : Le 28 avril 2014 16:16, Tyndare tynd...@wanadoo.fr a écrit : Le composant axtiveX c'était je crois pour ie6, pas ie8. Je ne suis pas certain qu'il soit disparu même si IE donne une interface native pour l'instancier. Utiliser directement les XHR pose des problèmes de compatibilité. Cela fait longtemps que je n'utilise plus les XHR de cette façon, mais j'utilise un framework. Il y a même une intégration plus poussée avec le framework Leaflet pour ses mixins. Sinon j'en ai soupé de suivre les versions d'IE qui changent leurs API sans arrêt ou la façon de les utiliser en préservant la compatibilité de ce qui se faisait dans les versions d'avant (et pas toujours des moyens simples pour détecter la bonne façon de faire). Tu peux déjà essayer en utilisant une URL absolue et non une URL relative (la question qui se pose est bien relative à quoi ? Il est possible que cette requête ne s'exécute pas du tout en fait (rien envoyé au serveur, ou erreur HTTP 404, j'ai déjà eu des trucs bizarres avec les XHR utilisant des URL relatives mal résolues, parfois liées à des threads concurrents qui interrogent d'autres serveurs XHR) Sinon, les XHR sont un peu obsolètes, les requêtes JSON ont une intégration native et plus sécurisée (et moins de contraintes et plus de performance, même si ici les requêtes ne sont pas énormes et fréquentes). Même si au final tes requêtes XHR ne servent pas à charger du XML nécessitant un parseur lourd côté client. Enfin sur Chrome la première requête effectuée (si on n'a encore rien saisi dans la commune) en sélectionnant un département est .http://cadastre.openstreetmap.fr/getDepartement.php?ville=undefined Tu noteras la présence de undefined qui signale une variable non initialisée (le nom de la ville cherchée). Je ne sais pas ce qui est transmis en valeur sous IE et comment cela affecte ensuite la recherche des communes... ___ dev-fr mailing list dev-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/dev-fr ___ dev-fr mailing list dev-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/dev-fr
[OSM-dev-fr] Aide html/javascript
Si jamais il y a des personnes compétentes en html/javascript et volontaires pour tester et investiguer je suis preneur... J'ai essayé de rajouter une option sur le site d'extraction du bâti depuis le cadastre [1] Elle marche pour moi, mais manifestement pas pour tout le monde [2] donc je me dis que le problème est lié au navigateur web. L'option a tester est la case à cocher «Sélectionner une zone à exporter» Lorsqu'on l'active c'est censé afficher une carte leaflet et un rectangle de sélection, si on l'active, l'extraction du bâti devrais se limiter à cette zone. Le code est ici [3] mais c'est aussi simple de regarder le code depuis le navigateur. [1] http://cadastre.openstreetmap.fr/ [2] http://trac.openstreetmap.fr/ticket/552#comment:3 [3] https://github.com/osm-fr/export-cadastre/tree/master/web ___ dev-fr mailing list dev-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/dev-fr
Re: [OSM-dev-fr] Aide html/javascript
Bonjour, Le 27/04/2014 13:02, didier2020 a écrit : j'ai essayé sur nimes (30) Le dimanche 27 avril 2014 à 12:30 +0200, didier2020 a écrit : Le dimanche 27 avril 2014 à 11:28 +0200, Tyndare a écrit : Si jamais il y a des personnes compétentes en html/javascript et volontaires pour tester et investiguer je suis preneur... J'ai essayé de rajouter une option sur le site d'extraction du bâti depuis le cadastre [1] Elle marche pour moi, mais manifestement pas pour tout le monde [2] donc je me dis que le problème est lié au navigateur web. j'ai essayé avec 2 navigateurs (under linux) = ça marche parfaitement ! sur ma commune ... j'ai essayé sur nimes (30) , il ne se passe rien (?) sinon détail pour la page html: title=Transforme les lettres B,T,Q en bis, ter, quater et rajoute un espace pour les autres checked/ le / est en trop L'option a tester est la case à cocher «Sélectionner une zone à exporter» Lorsqu'on l'active c'est censé afficher une carte leaflet et un rectangle de sélection, si on l'active, l'extraction du bâti devrais se limiter à cette zone. Le code est ici [3] mais c'est aussi simple de regarder le code depuis le navigateur. [1] http://cadastre.openstreetmap.fr/ [2] http://trac.openstreetmap.fr/ticket/552#comment:3 [3] https://github.com/osm-fr/export-cadastre/tree/master/web Ça marche aussi très bien chez moi (Win 8.1 + Chrome). En revanche j'ai mis du temps à comprendre que la case à cocher Sélectionner une zone à exporter ne fonctionnait qu'une fois une ville sélectionnée au dessus. A posteriori c'est logique, mais je ne l'ai compris qu'en regardant le code JS. Donc un petit message peut aider, pour faire comprendre que ce mode de sélection est en complément du choix de la ville, et non une alternative à celui-ci. vincent ___ dev-fr mailing list dev-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/dev-fr