|
| Kommentar Fra : TeWeE |
Dato : 26-03-05 14:37 |
|
Hey!
Jeg har selv siddet og rodet med chats, og jeg kan fortælle dig at det er pisse svært at komme på den idé, men hvis du vil have et starter tip så har du et her:
Du laver selve der hvor folk skriver i en frame (evt. iframe), og så bruger du bare dette script i den HEAD sektion:
<META HTTP-EQUIV=Refresh CONTENT="3"> hvor content er antal sekunder før siden skal opdatere igen...
Jeg kan vise dig min chat som jeg har rodet en del med for at få til at fungere så den virker NOGENLUNDE, men så vidt jeg husker, så er det kun ASP (ASPX/.net) som kan opdatere uden at siden skal reloades, da den bare kan hente indholdet fra fx. en access database når det passer den...
Evt. et javascript som gør at når man sender noget, så opdatere den også framen som viser teksten...
Ved ikke om det var det du skulle bruge, men det var det jeg tror du spurgte om :)
- Pelle Ravn
| |
| Kommentar Fra : molokyle |
Dato : 26-03-05 16:51 |
|
Refreshe en iframe :
Kode <html>
<head>
<script type="text/javascript">setTimeout("document.location.href=document.location.href",3000);</script>
</head>
<body>
<iframe src="MIN_SIDE.html" WIDTH="50%" HEIGHT="50%" FRAMEBORDER="2"></iframe>
</body>
</html> |
..eller siden :
Kode <html>
<head>
<script type="text/javascript">setTimeout("document.location.href=document.location.href",3000);</script>
</head>
<body>
TEST
</body>
</html> |
</MOLOKYLE>
| |
| Kommentar Fra : molokyle |
Dato : 26-03-05 16:55 |
|
Ps. Hvis du kopierer koden her fra kandu.dk ? ..så vær lige opmærksom på at rette :
document.locatio n.href ....til -> document.location.href
Sitet hér har det med at sætte white-spaces (blanktegn/mellemrum) ind i koden ...og en masse andre underlige ting
</MOLOKYLE>
| |
| Kommentar Fra : Angband |
Dato : 26-03-05 17:54 |
|
Det er sådan at jeg ikke har ASP på mit webhotel men det har min ven der godt vil hjælpe...
Kan man med include(""); sætte en asp side ind på sit site eller er iframe nødvendig?
/angband
p.s. er generelt imod frames
| |
| Kommentar Fra : molokyle |
Dato : 26-03-05 18:33 |
|
Jeg er ikke helt med på hvad du ønsker og er ingen ørn til php/asp, så du må nok venter på 'natmaden' træder hjælpende til.
Jeg ved ikke om man kan refreshe alle klienter via PHP, når der foreligger en update af Db'en ?
Jeg vil tro man ikke kommer uden om timing ?
..som du kender : http://www.gidforums.com/t-857.html
</MOLOKYLE>
| |
| Kommentar Fra : molokyle |
Dato : 26-03-05 18:35 |
|
Du kan godt include en asp/php fil i stedet for en iframe og lægge den timede opdatering via as ph javascript i denne fil ...tror jeg
</MOLOKYLE>
| |
| Kommentar Fra : natmaden |
Dato : 27-03-05 17:37 |
|
Det kan i php, lade sig gøre at kun opdatere en ramme, hvis der er nyt indhold.
Hvis du har en fil der indeholder selve tjatten feks. 'tjat.txt'. kan det lade sig gøre ved at tjekke filens 'tidsstempel'
altså:
hvis filen er blevet nyere siden sidste tjek,
Så opdater rammen
ellers
Lad være
Molo -> din første kode med IFRAME...
ville '<script type="text/javascript">setTimeout("document.location.href=document.locatio n.href",3000);</script>'
ikke være bedre plaseret i 'MIN_SIDE.html'
Nå!! nu kalder Kylling og sild !!
| |
| Kommentar Fra : Angband |
Dato : 27-03-05 17:58 |
|
natmadden lige en ting... du skriver man kan men hvordan skal jeg konstant chekke på filens tidstempel uden at opdaterer siden ?
håber du har lidt tid inden påske-middagen
/angband
| |
| Kommentar Fra : natmaden |
Dato : 27-03-05 18:12 |
|
En html har en 'header' som kan beabejdes inden at siden sendes/opdateres.
Det kræver at der kan bruges PHP eller asp.
Måske det kunne laves i javascript, men jeg er nu ikke sikker. og asp kører ikke hos mig.
Kan du bruge PHP på din side.??
Påske-middag,,, næ, det er da 2 gode sild og en del kyllinger på flaske der venter, så jeg svigter ikke,
men jeg kikker da lige forbi i pauserne
| |
| Kommentar Fra : molokyle |
Dato : 27-03-05 18:15 |
|
natmaden -> Det var tænkt som at lade hovedsiden (top.frames[0] på this.document.location.href) opdatere iframen via timing med php scriptet. Måske jeg skulle have skrevet : MIN_SIDE.php i stedet
Derved burde man opnå at hovedsiden ikke opdateres (..det kan klares i special tilfælde, hvis det ønskes ..evt. via et kald fra iframen, der jo er barn (children) objekt på siden), men kun iframen.
</MOLOKYLE>
| |
| Kommentar Fra : Angband |
Dato : 27-03-05 18:18 |
|
natmaden>
ja kan godt bruger php på min side...
Men det lyder som om på dig at jeg må tage et header og et fil-handlings tutorial
| |
| Kommentar Fra : molokyle |
Dato : 27-03-05 18:23 |
|
I pap :
2. filer
hovedside.html
MIN_SIDE.php
..MIN_SIDE indsættes som iframe i hovedside.html
Når kun hovedside.html er statisk, men MIN_SIDE.php refreshes opnås at php koden dynamisk kaldes for at tjekke evt. database opdateringer fra en klient. Dermed for alle andre også glæde af opdateringen uden at hovedside.html opdateres. Det var bare en tænkt 'løsning' fra min side
Jeg er jo som sagt ikke inde i php, men bare alm. nysgerrig
</MOLOKYLE>
| |
| Kommentar Fra : Angband |
Dato : 28-03-05 18:36 |
|
har lavet følgene kode:
Kode <HTML>
<head>
<meta name="Generator" content="Stone's WebWriter 4">
<script type="text/javascript">
function laes_og_skriv(){
document.all.test_frame.src='chatindhold.php';
window.setTimeout("laes_og_skriv()",2000);
}
</script>
</head>
<BODY onLoad="laes_og_skriv();">
<div align="center">
<h2>Sjatten</h2>
<iframe name="test_frame" id="test_frame" src="chatindhold.php" frameborder="1" scrolling="yes" height="400px" width="80%"></iframe>
<br>
<form target="test_frame" action="chatindhold.php" method="post">
<strong>Skriv her: </strong><input type="text" size="50" name="indhold">
<br> <br>
<input type="hidden" name="sub" value="1">
<input type="submit" value="Send" name="opret">
</form>
</div><br clear="all">
</body>
</html> |
men det er som om at den henter det gamle data ind igen.. Og ikke henter opdaterer
| |
| Accepteret svar Fra : natmaden | Modtaget 200 point Dato : 28-03-05 19:29 |
|
Prøv at tilføje disse ved dine meta.
Kode <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store"> |
Men du vil stadig have en konstant opdatering af rammen.
Jeg har lavet denne. men den virker ikke umiddelbart pga. forkert overførte variabler.
Kode <?
$tjatfil = "tjat.txt";
if (!file_exists($tjatfil)){
echo "<h1>Fejl: </h1><b>Filen '$tjatfil' er mangler !</b>";
}
else {
$tid_ny = filemtime($tjatfil);
if ($tid_ny != $tid_gl){
echo "<META http-equiv=refresh content=4;URL=vis_tjat.php>";
@readfile($tjatfil);
$tid_gl = $tid_ny;
}
}
?> |
Noget jeg retter senere i dag/nat.
Mvh. Jørgen
| |
| Godkendelse af svar Fra : Angband |
Dato : 12-04-05 17:02 |
| | |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|