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

JavaScript Discussion :

Différence du & entre ie6 et ie7


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut Différence du & entre ie6 et ie7
    Bonjour,
    J'ai une fonction ci-dessous que j'utilise pour récupérer des paramètres que je passe sur le ligne d'appel de ma page, page.hta?site=toto&etage=2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function init(){
        if(location.search.substring(1)) {		
           jshp_arg = location.search.substring(1).split('&');		
           nbrarg = jshp_arg.length;				 
           for(i=0;i<nbrarg;i++) {							jshp_tpeg = (jshp_arg[i].indexOf("=",0));				jshp_tpname = jshp_arg[i].substring(0,jshp_tpeg);			jshp_tpvar = jshp_arg[i].substring(jshp_tpeg+1,jshp_arg[i].length);
    	jshp[jshp_tpname] = jshp_tpvar;				
            }
        }
    }
    Si sous IE7 cela fonctionne très bien, il semblerait que le & ne soit pas lu de la même manière sous IE6 et cela me le remplace par son code hexa %26 quand je place un alert() de la valeur.

    Y a t'il un moyen "universel" de récupérer correctement mes paramètres (1 ou 2 par url) afin que je puisse afficher les bonnes infos ?

    D'avance merci.

    M.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    La fonction est maintenant un peu plus courte, mais toujours le même problème !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function init(){
        if(location.search.substring(1)) {				
            param = window.location.search.slice(1,window.location.search.length);
            alert(param);
            first = param.split("&");
            nbrarg = first.length;
            for(i=0;i<first.length;i++){
                 second = first[i].split("=");
                 jshp[second[0]] = second[1];
                 // alert(second[0] + " - " + second[1]);
             }
          }
    }
    Dans l'affichage de la valeur de param, sous ie7 j'ai bien & et sous ie6, je récupère %26 !!!

    Une autre idée ?

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    quel est le format de ton fichier ? utf-8 ou AINSI ou ???

    sinon essaye de rajouter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function init(){
        if(location.search.substring(1)) {	
            var decodedurl=decodeURIComponent(window.location.href) 
            param = decodedurl.search.slice(1,decodedurl.length);
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 101
    Par défaut
    Merci SpaceFrog.
    Si j'en crois ce que me dit Notepad++, c'est de l'ANSI, fichier créer sous windows XP.

    Avant de voir ta réponse que je ne n'ai donc pas testée, j'ai pris un raccourci, peut-être pas trop élégant, en ajoutant une fonction remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        function Remplace(expr,a,b) {
        var i=0
            while (i!=-1) {
                i=expr.indexOf(a,i);
                if (i>=0) {
                    expr=expr.substring(0,i)+b+expr.substring(i+a.length);
                    i+=b.length;
                }
            }
         return expr
         }
    puis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     param = Remplace (window.location.search.slice(1,window.location.search.length),"%26","&");
    et comme ça j'ai bien ma chaine formatée correctement, quelque soit la version de IE.

    Merci pour ton aide.

    M

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

Discussions similaires

  1. Comportement différent entre IE6 et IE7
    Par Zeo34 dans le forum Intégration
    Réponses: 1
    Dernier message: 12/11/2008, 12h24
  2. Différences d'affichage entre IE6 et IE7
    Par tamiii dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 11/12/2007, 14h12
  3. Réponses: 6
    Dernier message: 06/12/2005, 16h51
  4. [Rave] Différence de langue entre exécution et design
    Par RamDevTeam dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/11/2005, 11h49
  5. Différences d'affichage entre IE et FF
    Par Tot-O dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/09/2005, 18h47

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