Avatar billede wuppie Nybegynder
19. marts 2005 - 22:21 Der er 11 kommentarer og
2 løsninger

Skujlt iframe hjælp

Hej
Jeg har ikke helt forstået begrebet, med den skjulte frame, der sender de nyeste resultater over i en anden, og der ved opnår man en blink-fri funktion.
Jeg programmerer i PHP
  - Wuppie
Avatar billede bromer Nybegynder
19. marts 2005 - 22:26 #1
Er det begrebet du ikke kan forstå? Ideen er bare for at ændre nogle ting i backenden bliver du nød til at loade siden. Hvis man loader siden i en hidden iframe undgår du at browseren bliver blank.
Avatar billede wuppie Nybegynder
19. marts 2005 - 22:36 #2
Whoops jeg mente jeg forstod begrebet, men jeg vil gerne se et eksempel på det :D (PHP)
Avatar billede roenving Novice
19. marts 2005 - 22:36 #3
Egentlig har det ikke det fjerneste med php at gøre, for det er kun clientside det sker !-)

-- men betragt denne skitse:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Chat</title>
</head>
<body>
<form action="ditChatScriptSomIndsaetterIDatabasen.php" method="post">
Bruger: <input name="bruger"><br>
Indlæg:
<textarea cols="50" rows="5" name="indlaeg">
<input type="submit" value="Send">
</form>
<div id="chat" style="width:600px;height:400px;overflow:auto;"></div>
<iframe id="chatIframe" src="ditChatScriptSomHenterPosterIDatabasen.php" style="width:0px;height:0px;"></iframe>
</body>
</html>

-- ditChatScriptSomHenterPosterIDatabasen.php skal så outputte sådan:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
window.onload = function(){
  parent.document.getElementById('chat').innerHTML = document.getElementById('chat').innerHTML;
  setTimeout('location.reload(true)',20000);
}
</script>
<title>Skjult iframe</title>
</head>
<body>
<div id="chat">
Al den tekst som du har fundet i databasen, og som skal outputtes (og der må gerne være html og meget andet i
</div>
</body>
</html>
Avatar billede wuppie Nybegynder
19. marts 2005 - 22:45 #4
Og hvor skal jeg så lave min select * from tabel osv, i de eksempler jeg har set har der altid været en tredje side, men er det bare mig?
Avatar billede bromer Nybegynder
19. marts 2005 - 22:49 #5
Du skal hente dine ting fra ditChatScriptSomHenterPosterIDatabasen.php. Pointen er at du med javascript kan loade en ny side ind i iframen. Idet dette ikke kan ses nogle steder  kan du usynligt hente variable der.
Avatar billede wuppie Nybegynder
19. marts 2005 - 23:02 #6
Kan du give mig et eksempel så jeg ikke misforstår for meget?
Avatar billede roenving Novice
19. marts 2005 - 23:10 #7
I den div, som hedder chat i ditChatScriptSomHenterPosterIDatabasen.php:

<div id="chat">
<table>
<?
$sql = "select navn, tid, text from chatTable sort by tid descending limit 50";
/* -- og resten af din hent indlæg-kode */

while($row['chat']){
  echo "<tr><td width='70'>$row['navn']</td><td width='50'>$row['tid']</td><td width='480'>$row['text']</td></tr>";
  /* flyt til næste post */
}
?>
</table>
</div>

-- som det måske fremgår, er jeg bestemt ikke php'er, men ideen skulle kunne ses !-)
Avatar billede wuppie Nybegynder
19. marts 2005 - 23:13 #8
Okay men hvordan skal den kunne vise det når iframen er 0x0 px? :S
Avatar billede roenving Novice
19. marts 2005 - 23:17 #9
Prøv at se på scriptet, det tager nemlig det indhold, som er i div'en og lægger det over i den div, som er på parent-siden:

<script type="text/javascript">
window.onload = function(){
  parent.document.getElementById('chat').innerHTML = document.getElementById('chat').innerHTML;
  setTimeout('location.reload(true)',20000);
}
</script>
Avatar billede wuppie Nybegynder
19. marts 2005 - 23:50 #10
Tak det virker jo, OG MEGA TAK fordi i hængte i, når jeg ikke fattede en brik :D:D Læg lige et svar så får først den ene af jer point og så den anden..!
Avatar billede roenving Novice
19. marts 2005 - 23:55 #11
Velbekomme '-)

-- men husk nu, at du kun een gang kan uddele point, så du må lige vente på bromer !-)
Avatar billede bromer Nybegynder
20. marts 2005 - 00:22 #12
tak tak
Avatar billede roenving Novice
20. marts 2005 - 01:08 #13
-- og tak 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

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging