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 :

Javascript Session et Internet Explorer


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    25
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Par d�faut Javascript Session et Internet Explorer
    Bon voil� j'ai d�j� pos� la question dans le forum PHP, on m'a conseill� de voir avec les sp�cialiste JS, alors je vous copie le message :

    Bonjour,

    Voil� j'ai un ptit soucis (euph�misme), je vous explose le probl�me. Je suis en train de d�velopper une boutique en ligne et dans l'espace d'admin je suis en train de cr�er une page d�di�e � la saisie d'une commande par un employ� dla boite.

    Cette page comprends un formulaire avec plusieurs informations et une partie d�di�e au panier. Sur l'espace d�di� au panier on trouve un lien "Ajouter des produits au panier" qui ouvre un pop-up o� l'employ� va pouvoir aller chercher le produit � ajouter au panier.

    C'est l� que ca cloche en effet lors de l'ajout dans le panier je remplis ma session (panier) avec les infos de ce produit et je reload la page parente par la fonction Javascript suivante [cpp]window.parent.opener.location.reload(); [/cpp]
    afin que l'affichage du panier soit coh�rent.

    Tout fonctionne parfaitement sous FF ou encore Op�ra mon panier est bien mis � jour, mais sous IE c'est la merdasse ca me le met pas a jour, la fonction JS a bien l'air de s'ex�cuter mais je pense que le probl�me se situe au niveau des sessions.

    Voil� le code apr�s le click "ajouter un produit dans le panier"

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    	$panier->ajout_panier($_GET['uvc'], '1', 'L', '7.90');
    	echo "<script language='JavaScript' type='text/javascript'> window.parent.opener.location.reload(); </script>";

    et l'affichage du contenu du panier :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if (!isset($_SESSION['panier']))
    	echo '<bold>Aucun produit dans le panier</bold>';
    else
    {
        for($i=0;$i<=count($_SESSION['panier']['id_article'])-1;$i++)
        {
    	echo $_SESSION['panier']['id_article'][$i];
     
        }
     
    }
    ma classe panier :
    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
     
    <?php
     
    class panier
    {
     
            function __construct()
            {
            
                    if(!isset($_SESSION['panier']))
                    {
                            /* Initialisation du panier */
                            $_SESSION['panier'] = array();
                            /* Subdivision du panier */
                            $_SESSION['panier']['id_article'] = array();
                            $_SESSION['panier']['qte'] = array();
                            $_SESSION['panier']['taille'] = array();
                            $_SESSION['panier']['prix'] = array(); 
                    }
     
            }
            
            function ajout_panier($uvc, $qte, $taille, $prix)
            {
                    array_push($_SESSION['panier']['id_article'],$uvc);
                    array_push($_SESSION['panier']['qte'],$qte);
                    array_push($_SESSION['panier']['taille'],$taille);
                    array_push($_SESSION['panier']['prix'],$prix); 
            }
            
            
    }
            
     
    ?>
    J'ai fais des recherches, j'ai vu que ca pouvait �ventuellement venir d'une erreur de cache au niveau d'IE mais g tout vid� et ca marche pas plus.
    J'ai fait quelques tests au niveaux des sessions et lorsque je fais un affichage d'une valeur contenue dans la session panier lorsque je suis dans le popup pas de soucis mais d�s lors que je me trouve dans la page parente impossible avec IE !
    Donc voil� je fais appel � vous !

    Merci d'avance de prendre le temps de lire le message et de me r�pondre

  2. #2
    Membre confirm� Avatar de legillou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    178
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 178
    Par d�faut
    Arf, j'ai deja ete confronter a cet type de probleme. J'ouvrais une pop-up concernant les fichers d'un client (pour uploader des fichiers) et je pouvais revenir a la page parente sans probleme avec FF.
    Par contre avec IE, des que j'ouvrais la pop-up, la page parente se trouvait deja hors session. Si ca se trouve, c'est pareil pour toi.
    Malheureusement je n'ai pas trouver le probleme, et j'ai recommence a zero l'ouverture de ma pop-up. Donc je ne sais pas si le probleme vient au moment ou tu quitte la pop-up ou si c'est d�s l'origine
    Je peux te filer ce que j'ai fais, si ca peux t'aider :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    <script language="JavaScript">
    function ouvreFenetre(url, largeur, hauteur) {
      window.open('url', "", "scrollbars=no,menubar=no,toolbar=no,resizable=no,width="
                  + largeur + ",height=" + hauteur);
    }
    </script>
    <a href = "javascript:ouvreFenetre(url, 600, 400)">view</a>
    Tu peux peut-etre faire un test avec celle-la

  3. #3
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    25
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Par d�faut
    avec cette ouverture de popup cela fonctionne pour toi ?

  4. #4
    Membre confirm� Avatar de legillou
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    178
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 178
    Par d�faut
    Ouais, ma page parente garde la session ouverte. Pas chez toi ?

  5. #5
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    25
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Par d�faut
    j'ai pas encore test� je suis sur un autre truc
    Je te dis ca d�s que c'est fait mais ca me parait chelou si ca marche car mon popup je l'ouvre via la m�me m�thode (window.open()) si ce n'est que je n'est pas mis ca en fonction.

  6. #6
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    25
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 25
    Par d�faut
    et bien ca ne fonctionne pas, mon panier reste desesp�rement vide sous IE ...

  7. #7
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    �tudiant
    Inscrit en
    F�vrier 2006
    Messages
    2 532
    D�tails du profil
    Informations personnelles :
    �ge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 532
    Par d�faut
    Sous IE, une seule session peut �tre ouverte par Frame (Contenu d'une page web, pouvant contenir des sous-frames (frameset, iframe, ...). Attention que sous IE7, une fen�tre peut contenir plusieurs Frames (Tabs) qui restent n�amoins ind�pendantes les unes des autres...

    Je crois qu'une solution serait d'enregistrer l'objet window obtenu par ouverture d'un page blanche :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    window.panier = window.open("","","params=value")
    et d'utiliser window.panier pour construire de mani�re dynamique la page (cot� client)... L'utilisation d'AJAX permetterait la communication avec le serveur. L'utilisation de cookies permetterait la transmition de donn�es simplement entre Frames et m�me entre Frames et Serveur.

Discussions similaires

  1. Utilisation de session avec Internet Explorer
    Par mickpiet dans le forum Langage
    R�ponses: 5
    Dernier message: 03/07/2009, 21h31
  2. R�ponses: 2
    Dernier message: 07/08/2007, 03h37
  3. R�ponses: 3
    Dernier message: 19/10/2006, 11h45
  4. Javascript, CSS et Internet Explorer
    Par Bestiol dans le forum G�n�ral JavaScript
    R�ponses: 19
    Dernier message: 30/07/2006, 15h47

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