Avatar billede spidr Nybegynder
22. juni 2003 - 17:00 Der er 27 kommentarer og
1 løsning

Opdatere side uden blink..

Hvordan for jeg en side til at opdatere automatisk hvert 5. sekund uden den blinker når den opdatere??
Avatar billede cdc Novice
22. juni 2003 - 17:05 #1
Har set olebole har lavet en blinkfri chat her på E
Avatar billede gonza.dk Nybegynder
22. juni 2003 - 17:06 #2
http://www.eksperten.dk/spm/320350 <--- link til olebolechatten ;o)
Avatar billede schaefner Juniormester
22. juni 2003 - 17:07 #3
Avatar billede roenving Novice
22. juni 2003 - 17:07 #4
-- og tricket er en skjult iframe, som laver en location.reload(true)
Avatar billede cdc Novice
22. juni 2003 - 17:07 #5
der var linket gonza :o)
Avatar billede jakoba Nybegynder
22. juni 2003 - 17:09 #6
Du kan gøre er at lave siden så kort (under 4Kilobyte) og simpel at blinket bliver kort nok til at være usynligt.

Alternativt kan du opdatere en anden side (i en usynlig ramme) og så bruge javascript til at flytte de nye data derfra over i den side du viser frem.

Jeg vil nok anbefale den første løsning da den anden kræver et rimeligt godt kendskab til javascript, html og DOM.

mvh JakobA
Avatar billede ahv Nybegynder
22. juni 2003 - 17:09 #7
Vi skal først have et frameset, regner med det er til en chat. Vi skal have to usynlige frames en hvor vi indsætter og en hvor vi opdatere, framesettet kunne se ud som følgende ->

<frameset rows="*,90,0,0" frameborder="no" border="0" framespacing="0">
<frame name="chatvis" src="chat_show.php" scrolling="yes" noresize>
<frame name="chatsender" src="chat_sender.php" scrolling="no" noresize>
<frame name="chatskjult" scrolling="no" noresize src="chat_hide.php">
<frame name="chatskjultind" scrolling="no" noresize src="chat_hidein.php">

Vores chat_show.php kunne se ud som følgende ->

<HTML>
<HEAD>
<script>
function opdaterSpan(chatHTML) {
if (document.getElementById) document.getElementById("iespan").innerHTML = chatHTML;
else if (document.all) document.all["iespan"].innerHTML = chatHTML;
else if (document.layers) document["nslayer"].document.write(chatHTML);
}
</script>
</HEAD>
<BODY onLoad="parent.frames['chatskjult'].location.reload(true);">
<span id="iespan"><layer id="nslayer">
</layer></span>
</BODY>
</HTML>

chat_sender.php er bare den hvor man indtaster besked mv. Sådan en har du sikkert allerede.

chat_hide.php er der vi henter beskederne ->

<html>
<head>

<script>

chatHTML = 'HER SKAL DIT UDTRÆK VÆRE';
if (parent.frames['chatvis'].opdaterSpan) {
    parent.frames['chatvis'].opdaterSpan(chatHTML);
    setTimeout("self.location.reload(true)",2000);
}
</script>
</head>
<body>
</body>
</html>

Vores sidste side chat_hidein.php er blot en side hvor vi indsætter i databasen.

Så de to sider du skal være opmærsom på er altså chat_hide.php og chat_show.php
Avatar billede gonza.dk Nybegynder
22. juni 2003 - 17:10 #8
/cdc -> ;o)
Avatar billede spidr Nybegynder
22. juni 2003 - 17:18 #9
Tusind tak skal i have :) jeg er sku ked af jeg ikke liiige havde læst det andent forum :) burde nok kigge efter det først :) hehe sry m8's :)
Avatar billede spidr Nybegynder
22. juni 2003 - 17:32 #10
Hmm den siger :S
Parse error: parse error, unexpected '}' in /customers/goog.dk/goog.dk/httpd.www/chat/chat/top.php on line 230
og jan sQ ikke liiige se hvor det sQ være :S
Avatar billede spidr Nybegynder
22. juni 2003 - 17:33 #11
hvordan siger du chat_hidein.php skal se ud??
Avatar billede spidr Nybegynder
22. juni 2003 - 17:34 #12
og skal chat hide se sådan ud:
<html>
<head>

<script>

chatHTML = ' <?
$res_chat = mysql_query("SELECT * FROM minichat3_txt_".$brugerinfo[id]." order by id DESC");
while ($row_chat = mysql_fetch_array($res_chat)){
// Fejl($brugerinfo[ignore_list].",".$row_chat[fra_id]."");
if (!strstr($brugerinfo[ignore_list], "$row_chat[fra_id],") || $row_chat[fra] == "System"){
    if ($row_chat[fra] != "System") {
        $row_chat[msg] = ereg_replace($brugerinfo[nick],"<font color='FF9900'><b>$brugerinfo[nick]</b></font>",$row_chat[msg]);
    }
?>';
if (parent.frames['chatvis'].opdaterSpan) {
    parent.frames['chatvis'].opdaterSpan(chatHTML);
    setTimeout("self.location.reload(true)",2000);
}
</script>
</head>
<body>
</body>
</html>
??
Avatar billede Slettet bruger
22. juni 2003 - 17:36 #13
spidr>> Hvad med at prøv :0) jeg har lige fået ahv's metode til at virke..
Avatar billede spidr Nybegynder
22. juni 2003 - 17:38 #14
westhi>>> hmm sys jeg har prøvet det hele :S
Ka bare ikke liige få det til at virke :)
Avatar billede spidr Nybegynder
22. juni 2003 - 17:40 #15
westhi>> men så kan du vel også giv emig et eks. på hvordan  chat_hidein.php  og chat_hide.php  ser ud??
Avatar billede Slettet bruger
22. juni 2003 - 17:42 #16
bare start med at lav et enkelt hurtigt udtræk.. det behøves ikke være det helt store fra starten af jo...

$getmsg = mysql_query("SELECT * FROM msg");
while($row = mysql_fetch_array($getmsg)){
print $row[afsender].": ".$row[msg]."<br>";
}

sådan testede jeg det.. det virkede, og nu udbygger jeg det :)
Avatar billede spidr Nybegynder
22. juni 2003 - 17:44 #17
Tjoh men nu har jeg jo allerede lavet en chat med mange funktioner og vil meget gerne have det der no blink til integreret i det :) kan du ikke hvis mig hvordan dine chat_hidein.php  og chat_hide.php  ser ud?? Så tror jeg jeg kan klare det :)
Avatar billede Slettet bruger
22. juni 2003 - 17:47 #18
min chat hide ser sådan her ud.. jeg har ikke lavet videre på den :D
enklere blir det ikke

<?
include("config.php");
$getmsg = mysql_query("SELECT * FROM chat_msg");
?>
<html>
<head>

<script>

chatHTML = '<?while($row = mysql_fetch_array($getmsg)){print $row[sender].": ".$row[msg];}?>';
if (parent.frames['chatvis'].opdaterSpan) {
    parent.frames['chatvis'].opdaterSpan(chatHTML);
    setTimeout("self.location.reload(true)",2000);
}
</script>
</head>
<body>
</body>
</html>
Avatar billede spidr Nybegynder
22. juni 2003 - 17:48 #19
Fatter ik hva han mener med:
chatHTML = 'HER SKAL DIT UDTRÆK VÆRE';
og
Vores sidste side chat_hidein.php er blot en side hvor vi indsætter i databasen.
:S
Avatar billede Slettet bruger
22. juni 2003 - 17:48 #20
og chat_hidein.php har jeg slet ikke lavet endnu
Avatar billede spidr Nybegynder
22. juni 2003 - 17:51 #21
Men din virker uden chat_hidein.php  ???
Avatar billede Slettet bruger
22. juni 2003 - 17:52 #22
ja for jeg skrev bare beskederne direkte ind i db'en for at teste :)
Avatar billede spidr Nybegynder
22. juni 2003 - 17:52 #23
Ser den her chat-hide.php rigtig ud:
<html>
<head>

<script>

chatHTML = '              <?
      if ($row_chat[fra] == "System"){
        if ($row_chat[type] == 1){
            print "<div CLASS='private'><b>($row_chat[fra] -> $row_chat[til]):</b> $row_chat[msg]</div>\n";
        }
        else {
            print "<div CLASS='system'><b>$row_chat[fra]:</b> $row_chat[msg]</div>\n";
        }
    }
    else {
        if ($row_chat[type] == 1){
            print "<div CLASS='private'><b>($row_chat[fra] -> $row_chat[til]):</b> $row_chat[msg]</div>\n";
        }
        elseif ($row_chat[type] == 2){
            print "<div CLASS='emote'><i><b>$row_chat[fra] </b> $row_chat[msg]</i></div>\n";
        }
        else {
            print "<div CLASS='normal'><b><font color=".$row_chat[name_color].">$row_chat[fra]:</font></b> <font color=".$row_chat[text_color].">$row_chat[msg]</font></div>\n";
        }
    }?>';
if (parent.frames['chatvis'].opdaterSpan) {
    parent.frames['chatvis'].opdaterSpan(chatHTML);
    setTimeout("self.location.reload(true)",2000);
}
</script>
</head>
<body>
</body>
</html>
Avatar billede spidr Nybegynder
22. juni 2003 - 18:03 #24
http://www.goog.dk/chat.zip <--nogen der lige ka se hva der er galt??
På forhånd mange tak :D
Avatar billede Slettet bruger
22. juni 2003 - 18:04 #25
nej den ser ikke rigtig ud hvor er selve udtrækket og inkluderer du nogle db passwords osv?
Avatar billede spidr Nybegynder
22. juni 2003 - 18:05 #26
oog nej de ligger jo stadig i den andne :S:S Lolda er vidst liidt træt :D
Avatar billede spidr Nybegynder
22. juni 2003 - 18:15 #27
men det hjælper ikke :S ka ikke få det til at virke :(
Avatar billede submann Nybegynder
12. november 2005 - 16:39 #28
Nu er det godt nok et gammelt spørgsmål...

Men er jeg den eneste der har problemer med at den stadig blinker i FireFox ?
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