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 :

rafraichissement sous IE


Sujet :

JavaScript

  1. #1
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut rafraichissement sous IE
    Bonjour à tous,
    Je suis en train de réaliser une petite application Php/javascript : une visionneuse de photos sous forme de diaporamas.
    Concrètement, en arrivant sur la page, mon script js fait un pre-chargement de toutes les photos du répertoire, et dès qu'une des photos est correctement chargée, le diaporama se lance.
    Petite fonctionnalité : les utilisateurs peuvent commenter les photos. Pour cela ils cliquent sur un lien, remplissent un formulaire et valident. Suite à la validation, je voudrais recharger la page principale (celle contenant le diaporama), afin de prendre en compte le nouveau commentaire et de l'afficher.

    Sous firefox, aucun souci.
    Sous ie, par contre... La redirection (par un header php après la bonne insertion en base) se fait bien, cependant aucune image n'a l'air de se précharger, et mon diapo ne se lance pas. On dirait simplement que le code javascript ne s'exécute pas.

    J'ai tout d'abord pensé à un problème de cache, mais toutes les solutions classiques ne changent rien (balises meta, header php). Ce qui est curieux, et c'est pour cela que je ne pense pas que ce soit un problème de cache, c'est que, une fois que je suis sur ma page et qu'aucune image ne se charge, si je fais F5 pour rafraîchir la page manuellement alors les images se préchargent comme souhaité et le diaporama se lance.

    Enfin, je tiens à ajouter que j'ai tenté d'autres méthodes de redirection que le header php (le meta refresh content=0 pas beau et le script js window.open dans un body onLoad), mais ça n'a rien changé.

    Avez-vous :
    - une idée du problème
    - une solution à proposer

    Bien cordialement,

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par Marco la baraque Voir le message
    si je fais F5 pour rafraîchir la page manuellement alors les images se préchargent comme souhaité et le diaporama se lance.
    C'est donc bien un problème de cache
    As-tu essayé un timestamp ?

    A+

  3. #3
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut
    As-tu essayé un timestamp ?
    J'ai essayé de rajouter un paramètre à mon url, généré par la fonction time() de php (qui retourne le nombre de secondes depuis epoc).

    Ma redirection php ressemble donc à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: evenements.php?path=".$path.'&time='.time());
    Mais ça n'a pas empêché ie d'utiliser le cache apparemment.

    Est-ce bien de ça que tu parles ?

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Marco la baraque Voir le message
    Est-ce bien de ça que tu parles ?
    Pas exactement (pas via les header)
    Concrètement, en arrivant sur la page, ....
    Plutôt à ce niveau : appeler ta page systématiquement avec un timestamp (ajouté dans ton lien "Diaporama", pour simplifier) ....

    A+

  5. #5
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut
    J'ai changé ma redirection via header php par ceci (qui s'exécute donc après mon insertion en BD php, et mes contrôles) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <html>
    	<head>
    		<title></title>
    		<script type="text/javascript">
    			function redirection() {
    				<?php
                                            echo 'window.open("evenements.php?time='.time().'&path='.$path.'", "_self");';
                                    ?>
    			}
    		</script>
    	</head>
    	<body onLoad="redirection();">
    	</body>
    </html>
    Est-ce bien comme ça que tu voyais les choses ?

    Ca ne fonctionne toujours pas par contre.

    Sinon ici ils conseillent de mettre le timestamp directement sur les images. Je vais tester ça, à moins que tu n'aies une autre idée pour le moment.

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Je parlais juste du lien (ou bouton, j'en sais rien) qui permet d'accéder au diaporama, rien d'autre (pas de window.open() ou header) ....

    A+

  7. #7
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut
    En fait je n'ai pas de lien permettant d'accéder au diaporama.
    J'ai effectivement un lien sur ma page d'accueil, mais pas lors de l'ajout de commentaire sur une image :
    - lorsque l'image est affichée dans le diaporama, je change le href du lien permettant d'aller à l'écran de formulaire (de manière à indiquer de quelle image il s'agit)
    - dans l'écran de formulaire, une fois le commentaire entré, et le bouton submit cliqué, j'insère dans la BD, mais je n'ai aucun lien pour retourner sur le diaporama. Je fais simplement une redirection toute bête si l'insert s'est bien passé.

    Le timestamp sur chaque image fonctionne bien : plus de problème de cache désormais !
    Le seul hic, c'est que du coup, je ne profite plus non plus du cache firefox qui fonctionnait très bien, et donc que je passe à nouveaux quelques secondes à charger la première image.

    Je passe le problème en résolu.

    Merci beaucoup de ton aide E.Bzz et de ta disponibilité.

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

Discussions similaires

  1. [AJAX] AJAX rafraichissement sous IE
    Par yodark dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 20/01/2008, 16h32
  2. [AJAX] Rafraichissement sous IE
    Par Sylfrid dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/09/2007, 23h00
  3. Problème vitesse de rafraichissement sous sdl
    Par sieuzac dans le forum SDL
    Réponses: 16
    Dernier message: 31/05/2007, 14h59
  4. [AJAX] Rafraichissement sous IE
    Par jmulans dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/04/2007, 11h13
  5. rafraichissement sous-formulaire
    Par schventdavid dans le forum IHM
    Réponses: 8
    Dernier message: 22/02/2007, 09h27

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