Afficher le contenu d'une page en un seul coup ? - PHP - Programmation
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.
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.
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
Marsh Posté le 11-01-2003 à 18:58:39
greut a écrit : suivant les Brouteurs : |
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
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).
Marsh Posté le 12-01-2003 à 01:00:34
samuelp 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
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 )
<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
Marsh Posté le 12-01-2003 à 01:27:00
zion a écrit : |
Juste pour jouer, tu l'a créé comment ton tableau de 90mb ?
(structure, contenu)
J'aimerais voir ce que ça donne chez moi.
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
Marsh Posté le 12-01-2003 à 01:36:03
zion a écrit : |
ah? c'est pas la collec DVD de Gilou?
Marsh Posté le 12-01-2003 à 01:39:13
ReplyMarsh Posté le 12-01-2003 à 01:39:45
zion a écrit : |
90 Mo de copier coller, moi j'ai pas toute la nuit
Un t'i script !
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
Marsh Posté le 12-01-2003 à 01:41:28
MagicBuzz a écrit : |
prépare toi à le killer, moi j'ai pas eu le courage d'attendre en tout cas
Marsh Posté le 12-01-2003 à 01:45:19
Arf ! Y va réussir à saturer ma mémoire ce con
Je suis déjà à 1200 Mo utilisé, et ça continue à monter MDR
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 )
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.