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 :

enlever %0A en javascript


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 102
    Par défaut enlever %0A en javascript
    Bonjour,

    J'ai un bug javascript sous safari uniquement, je récupère une chaine de caractère que j'utilise pour rediriger l'utilisateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var reponse = http_request.responseText;	
    page= reponse.toString();
    document.location.href=unescape(page);
    Tout se passe bien sous FIREFOX, IE6, IE7 et OPERA, mais sous safari... la chaine page contient %0A%0A au début ... comment l'enlever ? une idée ?

    En bref sous IE : j'obtiens : http://www.monsite.com/mapage.php
    sous safari : j'obtiens : http://www.monsite.com/%0A%0Amapage.php

    Merci

  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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    replace ?
    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
    Septembre 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 102
    Par défaut
    Ben j'aimerai bien ... mais un replace de quoi ?

    Le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    page=page.replace("%0A","")
    ne fonctionne pas ... je pense qu'il faut fair une conversion de "%0A" avant, mais je ne sais pas du tout comment faire.

    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    page=page.replace("\%0A","")
    ?
    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
    Septembre 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 102
    Par défaut
    ... non ca ne fonctionne pas non plus..

    sous safari j'obtiens toujours : http://www.monsite.com/%0A%0Amapage.php

    avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var reponse = http_request.responseText;
    page= reponse.toString();
    page=page.replace("\%0A","");
    document.location.href=page;
    MERCI

  6. #6
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    mets ton response text en utf8 ?
    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 !

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 102
    Par défaut
    C'est a dire ? :s

    Je fait comment ? un header() dans le fichier PHP suffit ?

  8. #8
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    un charset dans la balise du script qui contient l'ajax ???
    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 !

  9. #9
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    sinon epluche la chaine pour savoir qule caractère te pose problème ...

    voici qui devrait t'aider ...
    recupère ton response text et passe le là dedans ...
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>CharCodes</title>
    <style type='text/css'>
    td {border: solid  1px navy;
    		text-align:center;}
    </style>
    <script type='text/javascript'> var Texte ="hjdfg2fdsg2dfg5gdf6dfs6gdfgsdfg4";
    /* var sep=new RegExp();
     sep=/[0-9]/;
     alert(Texte.split(sep).length) */
     
     function go(texte){
    var result=''
     texte=texte.split('')
     for (i=0;i<texte.length;i++){
              var newline=document.createElement('tr');
              var cell1 =document.createElement('td');
              cell1.innerHTML=i;
    			var cell2 =document.createElement('td');
    			var caractere=""
     
    			switch(texte[i].charCodeAt(0)){
    								case 32 :  caractere= "[Espace]";
    											break;
    								case 10 :	 caractere= "[Retour Ligne]";
    											break;
    								case 13 :	 caractere= "[Retour Chariot]";
    											break;
    								default : caractere=texte[i];
    												}
     
      		 cell2.innerHTML= caractere
     
              var cell3 =document.createElement('td');
              cell3.innerHTML=texte[i].charCodeAt(0);
              newline.appendChild(cell1);
              newline.appendChild(cell2);
              newline.appendChild(cell3);
     			document.getElementById('res').getElementsByTagName('tbody')[0].appendChild(newline);
     
     			}
     			}
    </script>
    </head>
     
    <body>
     
    <textarea id="in" rows="3" cols="60" ></textarea>
    <input type="button" onclick="go(document.getElementById('in').value)" value="go" />
     
    <table id='res' style='font-family:verdana'>
    <tbody>
    <tr>
    	<td>position</td>
    	<td>caractère</td>
    	<td>code</td>
    </tr>
    </tbody>
    </table>
    </body>
     
    </html>
    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 !

  10. #10
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    à tout hasard si tu mettais une expression régulière dans ton replace plutôt que "%0A" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function test()
    {
     var chaine = "http://www.monsite.com/%0A%0Amapage.php";
     
      alert(chaine.replace(/(\%0A)/gi,""));
    }

  11. #11
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Salux,

    Si tu faisais du "vrai ajax" tu n'aurais pas ce probleme..
    .. faire en sorte que le script distant produise un document xml de cette tete
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <reponse>
      <url>http://azeazeaz.com</url>
    </reponse>

    Ensuite dans le js, tu aurais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var urls = http_request.responseXml.getElementsByTagName('url');
    if (urls != null) {
      document.location.href = urls[0];
    }

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 102
    Par défaut
    Merci à tous !

    Le système fonctionne effectivement en utilisant du XML.

    La question reste :
    Pourquoi y avait-il un saut de ligne "%0A" sous safari ???

    Je mettrais le TAG "résolu" dans quelques jours sur ce post si personne ne s'intéresse au fond du problème... quand ca marche.. ca marche

    Merci encore..

  13. #13
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Yavait peut etre des sauts de ligne parasites produits par ton script?

    Typiquement :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
     
    <?php
    // les sauts de ligne ci dessus comptent
    echo 'blabla';
    ?>

    Sinon, peut etre que Safari prend les sauts de lignes de fin de header http comme des sauts de ligne significatifs...
    Car le navigateur reçoit un truc dans ce genre là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    HTTP/1.1 200 OK
    Date: Wed, 07 Mar 2007 17:22:22 GMT
    Server: Apache/2.2.3 (Unix) PHP/5.2.0
    X-Powered-By: PHP/5.2.0
    Cache-Control: private
    Pragma: private
    Connection: close
    Content-Type: text/html; charset=ISO-8859-1
     
    blabla
    Peut etre que le serveur web met des sauts de ligne supplementaires pensant que les navigateurs les ignoreraient. Ca serait ce que ferait la majorité des navigateurs, mais pour Safari il considererait que le contenu commence pile 2 lignes apres le dernier header
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ....
    Content-Type: text/html; charset=ISO-8859-1
     
     
     
    blabla
    .. et croirait que le contenu est "\r\n\r\nblabla"

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 102
    Par défaut
    Merci,

    Pour la premiere hypothèse, j'ai vérifier...je ne crois pas que ca vienne de la.

    Pour la deuxieme et la troisieme... c'est une bonne piste, mais je n'ai aucun moyen de vérifier... L'extension de firefox qui affiche les entêtes HTTP n'affiche pas le contenu de la page, il n'affiche que l'entête.

    un outil à proposer ?

  15. #15
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    telnet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $ telnet ip_serveur_web 80 [saut de ligne]
    GET http://url_complete HTTP/1.0 [saut de ligne]
    [saut de ligne]

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/08/2011, 15h37
  2. Enlever un contrôle du Placeholder en javascript
    Par gabdeschenes dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 29/05/2009, 08h54
  3. Enlever le souligne d'un lien en javascript?
    Par wormseric dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 31/10/2006, 17h43
  4. [RegEx] Problème pour enlever les tags javascript d'une source HTML
    Par Easyweb dans le forum Langage
    Réponses: 4
    Dernier message: 25/02/2006, 02h10
  5. []Enlever 1 an à un objet "Date"
    Par inotna2099 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/10/2002, 17h21

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