Afficher le contenu d'une page en un seul coup ?

Afficher le contenu d'une page en un seul coup ? - PHP - Programmation

Marsh Posté le 11-01-2003 à 11:13:13    

Salut à tous,
 
est ce que quelqu'un ici saurait comment on fait pour afficher une page web en un seul coup (c'ets possible via PHP non?)
 
C'est à dire par exemple que la page se charge sans qu'on la voit (les images, etc) et que tout apparaisse en une seule fois (une fois que le visiteur a fini de tout télécharger).
 
Si quelqu'un pouvait m'aider.
 
Merci.

Reply

Marsh Posté le 11-01-2003 à 11:13:13   

Reply

Marsh Posté le 11-01-2003 à 11:29:24    

non, ce n'est pas possible en php. la seule chose que tu puisses faire en php, c'est d'envoyer le code d'un seul coup au client, mais il faut encore qu'il le réceptionne et charge les images.
 
De toute façon, c'est une mauvaise idée. Un site qui te laisse trop longtemps une page blanche donne l'impression d'être hors service et les gens le zappent.

Reply

Marsh Posté le 11-01-2003 à 11:51:38    

héhéhé... C'est l'erreur classique des débutants de vouloir tout afficher en même temps.  :)  
 
D'un autre côté, cela montre que le mec est perfectionniste, ce qui sera pas mal pour plus tard.

Reply

Marsh Posté le 11-01-2003 à 18:55:17    

suivant les Brouteurs :
 
IE : normalement affiche tableau par tableau
Mozilla, opera : n'attendent même pas la fin du chargement du tableau


---------------
jid:greut@swissjabber.ch
Reply

Marsh Posté le 11-01-2003 à 18:58:39    

greut a écrit :

suivant les Brouteurs :
 
IE : normalement affiche tableau par tableau
Mozilla, opera : n'attendent même pas la fin du chargement du tableau


 
Pas sous Mozilla : Opera OK, il affiche a la volée (c pour cela qu'on croie a tort que c un browser rapide)
 
Mozilla attend de tout interpreter avant d'afficher

Reply

Marsh Posté le 11-01-2003 à 21:25:47    

Opéra affiche certes les tableaux à la volée, mais il ne se positionne sur une page que quand celle-ci est complètement chargée (ce qui est d'ailleurs assez chiant avec ce forum est les icones ICQ dont le serveur est fort lent).


Message édité par gizmo le 11-01-2003 à 21:25:56
Reply

Marsh Posté le 12-01-2003 à 01:00:34    

samuelp a écrit :


 
Pas sous Mozilla : Opera OK, il affiche a la volée (c pour cela qu'on croie a tort que c un browser rapide)
 
Mozilla attend de tout interpreter avant d'afficher


 
Benh j'ai pris une page avec un tableau de 90mb (non j'ai pas froid aux yeux).
 
Opera: Chargé en 5 minutes puis extrèmement dur de scroller mais ca allait encore (moyennant 20s à chaque tentative de scroll). Le tout utilisait un peu plus de 200mb de ram.
 
Mozilla: Après 15 minutes et 600mb de ram et le cpu à 100% sans pouvoir scroller ni quoi que ce soit j'ai finalement décidé de le killer.
 
IE: Pareil, après 15 minutes mais 300mb de ram et le cpu à 100% sans pouvoir même encore toucher à IE je l'ai aussi killé.
 
Bref, Mozilla j'adore mais y a encore du progrès à faire  :sweat:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 12-01-2003 à 01:24:54    

Pour charger "d'un coup", ça se fait un niveau HTML, mais comme l'ont dit les autres, il faut mieu éviter.
 
Si tu es joueur (code à débuguer parceque ça me fait chier de le tester :D)
 
<html>
<head>
  <title>Tout d'un coup</title>
  <script language="JavaScript">
  // Fonction déclenchée au démarrage de la page, puis toutes les 0.1 secondes
  function attendre()
  {
    ok = true;
    // On scanne toutes les images
    for (el in document.images)
    {
      // Si une image n'est pas chargée, alors on annonce que c'est pas ok.
      if (el.readystate != 'complete';)
         ok = false;
    }
    // Si c'est ok, alors on affiche la page et on arrête d'éxécuter la fonction, sinon on attends 0.1 seconde et on réessaye.
    if (ok)
      document.DUnCoup.style.visibility='visible';
    else
      a = settimeout("attendre()", 100);
  }
  end function
  </script>
</head>
<body onload="javascript:attendre();">
<div id="DUnCoup" style="visibility:hidden">
<!-- Contenu de TOUTE la page ici -->
</div>
</body>
 
Ce code est d'autant plus risqué que si une image ne se charge pas, page blanche :D


Message édité par MagicBuzz le 12-01-2003 à 01:29:00
Reply

Marsh Posté le 12-01-2003 à 01:27:00    

zion a écrit :


 
Benh j'ai pris une page avec un tableau de 90mb (non j'ai pas froid aux yeux).
 
Opera: Chargé en 5 minutes puis extrèmement dur de scroller mais ca allait encore (moyennant 20s à chaque tentative de scroll). Le tout utilisait un peu plus de 200mb de ram.
 
Mozilla: Après 15 minutes et 600mb de ram et le cpu à 100% sans pouvoir scroller ni quoi que ce soit j'ai finalement décidé de le killer.
 
IE: Pareil, après 15 minutes mais 300mb de ram et le cpu à 100% sans pouvoir même encore toucher à IE je l'ai aussi killé.
 
Bref, Mozilla j'adore mais y a encore du progrès à faire  :sweat:  


Juste pour jouer, tu l'a créé comment ton tableau de 90mb ?
(structure, contenu)
 
J'aimerais voir ce que ça donne chez moi.

Reply

Marsh Posté le 12-01-2003 à 01:34:40    


c'est un dump mysql, mais sinon copier/coller à l'infini ca marche très bien on s'en fout du contenu  :)


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 12-01-2003 à 01:34:40   

Reply

Marsh Posté le 12-01-2003 à 01:36:03    

zion a écrit :


c'est un dump mysql, mais sinon copier/coller à l'infini ca marche très bien on s'en fout du contenu  :)  


ah? c'est pas la collec DVD de Gilou? :D

Reply

Marsh Posté le 12-01-2003 à 01:39:13    


Non c'est le nombre de TT/Ban d'antp  [:ddr555]


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 12-01-2003 à 01:39:45    

zion a écrit :


c'est un dump mysql, mais sinon copier/coller à l'infini ca marche très bien on s'en fout du contenu  :)  


90 Mo de copier coller, moi j'ai pas toute la nuit ;)
 
Un t'i script ! :D
 
dim fso, fil
set fso = createobject("Scripting.FileSystemObject" )
set fil = fso.CreateTextFile("gros_tableau.html", True, False)
 
fil.write "<html><head><title>Ramme petit !</title></head><body><table>"
 
for i = 1 to 100000 step 2
 fil.write "<tr><td>" & i & "</td><td><table>"
 for j = 1 to 90
  fil.write "<tr><td>" & j & "</td></tr>"
 next
 fil.write "</table></td><td>" & i + 1 & "</td></tr>>"
next
 
fil.write "</table></body></html>"
fil.close
 
set fil = nothing
set fso = nothing
 
msgbox("fini !" )
 
Ca donne, avec un tableau "complexe" contenant très peu de données : 88,3 MB (92 638 977 bytes)
 
Va voir ce que mon IE va me dire :D

Reply

Marsh Posté le 12-01-2003 à 01:41:28    

MagicBuzz a écrit :


 
Va voir ce que mon IE va me dire :D


 
prépare toi à le killer, moi j'ai pas eu le courage d'attendre en tout cas  :sweat:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 12-01-2003 à 01:45:19    

Arf ! Y va réussir à saturer ma mémoire ce con :lol:
 
Je suis déjà à 1200 Mo utilisé, et ça continue à monter MDR

Reply

Marsh Posté le 12-01-2003 à 01:50:04    

bon, c stabilisé à 1826 Mo de mémoire occupée (j'étais à 130 avant de faire le test :D)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed