Avatar billede webber89 Nybegynder
10. august 2007 - 21:48 Der er 23 kommentarer og
1 løsning

vise billede indtil siden er klar

Hej
jeg skal bruge en funktion der kan vise et billede indtil siden er hentet. her taler jeg om en side der kan tage lidt tid at hente. det er sikkeret ikke den rigtige kategori men det skal kunne fungere med php. så hvis man ikke kan i php kan i så fortælle hvilket sprog der så kan klare det
Avatar billede w13 Novice
10. august 2007 - 21:50 #1
Har du prøvet at indsætte billedet og så sætte <body onload="img.style.display=''"> ?
Avatar billede webber89 Nybegynder
10. august 2007 - 22:00 #2
det kan jeg ikke helt få til at virke som ønsket der er ingen forskel

<html>
<head>
</head>
<body onload="img.style.display='billede.gif'">
<?
$tal=1;
while($tal<=10000000){
echo $tal;
echo "<br>";
$tal++;
}
?>
</body>
<html>
Avatar billede w13 Novice
10. august 2007 - 22:01 #3
Nej, ikke helt sådan.

<html>
<head></head>
<body onload="document.getElementById('loadimg').style.display=''">

<img id="loadimg" src="billede.gif">

<?
$tal=1;
while($tal<=10000000){
echo $tal;
echo "<br>";
$tal++;
}
?>

</body>
</html>
Avatar billede w13 Novice
10. august 2007 - 22:02 #4
Ah, nej, det vil selvfølgelig ikke virke, når det er php. Damn. Tænker lidt over det.
Avatar billede webber89 Nybegynder
10. august 2007 - 22:02 #5
her skiver den bare tallene fra 1 til 10000000 lidt efter lidt og der kommer intet billede.
det jeg gerne ville have var at den kunne vise et billede indtil den havde hele koden klar.
Avatar billede webber89 Nybegynder
10. august 2007 - 22:03 #6
hehe okey
Avatar billede w13 Novice
10. august 2007 - 22:07 #7
PHP udføres på serveren inden den returnerer noget som helst html-output, så det kan ikke lade sig gøre, så vidt jeg ved.
Avatar billede jakobdo Ekspert
10. august 2007 - 22:21 #8
Hvad med:

<html>
<head></head>
<body onload="document.getElementById('loadimg').style.display=''">

<img id="loadimg" src="billede.gif">

<?
$tal=1;
while($tal<=10000000){
echo $tal;
echo "<br>";
flush(); //Er dette trick nok?
$tal++;
}
?>

</body>
</html>
Avatar billede w13 Novice
10. august 2007 - 22:24 #9
Det vil jo ikke virke, da HTML'en først køres, når php'en er udført
Avatar billede webber89 Nybegynder
10. august 2007 - 22:30 #10
nej det er det ikke jeg har samme resultat
Avatar billede cpufan Juniormester
10. august 2007 - 22:30 #11
check noget med flush
Avatar billede webber89 Nybegynder
10. august 2007 - 22:33 #12
cpufan hvad skal jeg tjekke med flush det eksempel som jakobdo er kommet med virker ikke. men da jeg ikke kender flush kan du så give et andet der måske kunne fungere?
Avatar billede cpufan Juniormester
10. august 2007 - 22:37 #13
nu er jeg ikke så meget inde i php, at jeg kan komme med skræddersyede løsninger,

men der står noget omkring det her

http://www.modwest.com/help/kb5-259.htm


i asp, er det ikke nok kun at flushe, der skal sættes et par params. først også.

og i linket fortælles noget om mod_gzip der skal sættes til off.
Avatar billede jakobdo Ekspert
10. august 2007 - 22:39 #14
Jeg kunne ellers være sikker på det så ud til at virke på denne side.
Men jeg har nok set forkert! :o)
http://www.codebreaker.dk/exp/791187exp.php
Avatar billede cpufan Juniormester
10. august 2007 - 22:39 #15
taget fra en anden side:

had problems flushing tables to screen.
this worked for me
<?
if (ob_get_level() == 0) ob_start();
loop{
    tables and stuff
    echo str_pad("<br>\n",8);
}
ob_flush();
flush();  // needed ob_flush
usleep(50000);// delay minimum of .05 seconds to allow ie to flush to screen
?>
Avatar billede cpufan Juniormester
10. august 2007 - 22:40 #16
der skal både bruges


ob_flush(); //og
flush()
Avatar billede cpufan Juniormester
10. august 2007 - 22:44 #17
Avatar billede webber89 Nybegynder
10. august 2007 - 22:52 #18
ok men jeg kan heller ikke få dette kode til at virke nogen der kan hjælpe med det (det som cpufan skrev)
<?
if (ob_get_level() == 0) ob_start();
loop{
    tables and stuff
    echo str_pad("<br>\n",8);
}
ob_flush();
flush();  // needed ob_flush
usleep(50000);// delay minimum of .05 seconds to allow ie to flush to screen
?>
Avatar billede jakobdo Ekspert
10. august 2007 - 22:53 #19
Så du mit indlæg: 10/08-2007 22:39:36 ?
Avatar billede webber89 Nybegynder
10. august 2007 - 22:56 #20
ja jeg kan godt se det virker der men jeg kan ikke få det til at virke når jeg bruger dette kode:
<html>
<head></head>
<body onload="document.getElementById('loadimg').style.display=''">

<img id="loadimg" src="billede.gif">

<?
$tal=1;
while($tal<=10000000){
echo $tal;
echo "<br>";
flush(); //Er dette trick nok?
$tal++;
}
?>

</body>
</html>
Avatar billede jakobdo Ekspert
10. august 2007 - 22:56 #21
Så brug denne kode:

<?php
//http://www.eksperten.dk/spm/791187
?>
<html>
<head></head>
<body onload="document.getElementById('loading').style.display='none'">

<div id="loading" style="display:block;"><img id="loadimg" src="loading.gif" /></div>
</div>
<?
for($i = 1; $i <= 200000; $i++)
{
    if(($i % 200) == 0)
    {
        echo '<br />';
    }
    echo '.';
    flush(); //Er dette trick nok?
}
?>
</div>
</body>
</html>
Avatar billede webber89 Nybegynder
10. august 2007 - 23:02 #22
jeps så virker det også for mig mange tak til jer alle sammen. send et svar hvis i vil have point især dig jakobdo
Avatar billede jakobdo Ekspert
10. august 2007 - 23:05 #23
Svar!
Avatar billede jakobdo Ekspert
11. august 2007 - 08:15 #24
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Digital forretningsanalytiker til Cyberdivisionen

Politiets Efterretningstjeneste

API-udvikler til PET

Netcompany A/S

IT Consultant