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

HTML Discussion :

barre d'état = "terminé" -> des images ne s'aff


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Par défaut barre d'état = "terminé" -> des images ne s'aff
    Bonjour à tous
    Je suis à la recherche d'un avis éclairé

    Je viens de créer un menu-images c'est à dire une image que j'ai découpé en plusieurs parties et chaque parties changent lors d'un mouseover.

    Le problème que je rencontre est que, de manière aléatoire, certaines images ou parties de l'image ne s'affichent pas alors que la barre d'état du navigateur m'indique que le chargement de la page est terminé.
    Ce problème est identique sous FF et IE.

    Par ailleurs ce problème apparaît également quand je souhaite afficher une grande série de photos miniatures dans la même page.

    Comment puis-je procéder pour garantir à 100% le chargement des images avant que l'utilisateur puisse accéder à ma page (la fonction de préchargement ne change rien au problème) :

    s'agit t'il d'un problème de temps de réponse du serveur :
    Merci

  2. #2
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    C'est surement dû à la taille et/ou au poids de tes images.

    Mais quand l'utilisateur revisitera le site, les images seront mises en cache.
    Et donc les autres fois, les images s'afficheront surement et plus rapidement (sauf si l'utilisateur a vidé le cache!).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Par défaut
    effectivement c'est dû à la taille ou au nombre d'images à télécharger. Mais existe-t-il un moyen pour forcer le navigateur à ne pas afficher la page tant que tout n'est pas correctement chargé ?
    Peu-on insérer une boucle de test qui vérifie que tout est affiché et si le test n'est pas concluant, faire un rafraichissement automatique de la page ?

  4. #4
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    Non, il n'y a pas moyen de le faire, puisque cela depend du navigateur!

    Par contre, pour une grande image, tu peux la decouper en plusieurs parties, puis les afficher.
    Ainsi, tu seras presque certaine que l'image sera affichée.
    Pour le format de l'image, tu peux également, si ce n'est pas dejà le cas, le jpg ou le gif qui sont generalement de faible poids.

  5. #5
    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
    heu desolé de te contredir linaa mais tu peux toujours mettre le body en visibility hidden ou display none tant que les images ne sont pas complete et faire également un preload des images, il y a eu un post là dessus la semaine dernière ...
    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 !

  6. #6
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    Ah bon, mais comment on fait pour savoir si les images sont chargées ?

  7. #7
    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
    avec un petit javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type="text/javascript">
    function testLoaded(){
    tabPics=document.images
    TotPics=tabPics.length
    LoadedPics=0
    for(i=0;i<TotPics;i++){LoadedPics+=tabPics[i].complete?1:0;}
    if (LoadedPics==TotPics){alert('fini');}
    }
    </script>
    il suffit ensuite de lancer cette focntion dans un setInterval pour tester de façon ittérative si toutes les images sont chargées ou pas ...
    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 !

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Par défaut
    Salut,
    j'ai pas trouvé le post traitant du sujet...
    Par contre, ce petit javascript m'intéresse fortement, peux-tu m'expliquer plus en détail la marche à suivre pour s'en servir.
    Je copie tel quel ce bout de programme entre les balises <HEAD> de mon code et ensuite ?
    Il suffit simplement de mettre visibility: hidden dans la balise body et c'est tout ?

  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 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
    heu non cette fonction vérifie à un instant t l'état de chargement des images ...
    il faut donc créer une focntion qui lance la fonction de vérification à intervalles réguliers ...

    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
    <script type="text/javascript">
    var Timer
    function testLoaded(){
    tabPics=document.images
    TotPics=tabPics.length
    LoadedPics=0
    for(i=0;i<TotPics;i++){LoadedPics+=tabPics[i].complete?1:0;}
    if (LoadedPics==TotPics){clearInterval(Timer);
                                         alert('fini');}
    }
     
     
    function BoucleTest(){
    Timer=setInterval(function(){testLoaded()},100)
    }
    </script>
    et lancer l'itteration dans le onload du body...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="BoucleTest()">
    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
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    Mais si l'image existe, mais que le navigateur a du mal à charger (trop d'image) et que le texte alternatif apparait à la place, ça ne fonctionnera pas ?
    Et la boucle serait infinie ?

  11. #11
    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
    faut juste placer un limitateur de temps si c'est trop long tu mets une image par défaut preloadée et tu affiches la page ...
    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 !

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