|
[ iizuzetan @ 13.07.2009. 12:45 ] @
| Imam jedan problem pa da zamolim ako moze pomoc. Evo dacu kod pa da postavim pitanje.
Code:
<HTML>
<HEAD>
<TITLE>Glavna</TITLE>
</HEAD>
<FRAMESET rows="80%,20%">
<FRAME SRC="prikaz.php">
<FRAME SRC="ucitavanje.php">
</FRAMESET>
</HTML>
Hteo bih da se deo stranice gde se prikazuje prikaz.php automatski refresuje svake sekunde. Pretpostavljam da se to moze odraditi u JavaScript i pomocu funkcije setTimeout("nesto()",1000)., u par kratkih redova. Ako neko zna kako to da uradim neka napise bicu mu stvarno zahvalan. |
[ Nikola Poša @ 13.07.2009. 13:02 ] @
Ne sa setTitmeout(), već sa setInterval(). Samo odavno nisam radio sa frejmovima u HTML-u, ali verujem da bi ovo moglo da odradi posao:
Code:
<script type = "text/javascript">
setInterval('parent.frames[0][0].location.reload()', 1000);
</script>
Ubaci to negde u kod te stranice (možeš i u head sekciju), pa probaj.
[Ovu poruku je menjao Nikola Poša dana 13.07.2009. u 14:13 GMT+1]
[ iizuzetan @ 13.07.2009. 13:12 ] @
Pokusao sam ovako:
Code:
<HTML>
<HEAD>
<TITLE>CHAT</TITLE>
</HEAD>
<FRAMESET rows="80%,20%">
<FRAME SRC="prikaz.php">
<FRAME SRC="ucitavanje.php">
</FRAMESET>
<script type="text/javascript">
setInterval('document.frames[0].location.reload()', 1000);
</script>
</HTML>
I ovako:
Code:
<HTML>
<HEAD>
<TITLE>CHAT</TITLE>
</HEAD>
<FRAMESET rows="80%,20%">
<FRAME SRC="prikaz.php">
<FRAME SRC="ucitavanje.php">
<script type="text/javascript">
setInterval('document.frames[0].location.reload()', 1000);
</script>
</FRAMESET>
</HTML>
Ali u oba slucaja se nista ne desava, ne refresuje automatski. Gde treba da se uglavi taj kod???
[ Nikola Poša @ 13.07.2009. 13:15 ] @
Kao što vidiš ispravljao sam par puta kod, nije document, nego parent, toga sam se naknadno setio.  A i nije samo jednodimenzionalni niz, nego treba [0][0].
[ iizuzetan @ 13.07.2009. 13:20 ] @
Promenio sam, probao oba slucaja ali opet nece !! Probao sam i u operu i u mozilu.
[ Nikola Poša @ 13.07.2009. 13:29 ] @
A jesi probao sa [1][0], ili tako nešto... Ja sam sad baš malopre edit-ovao i probao ovakav primer na W3Schools-u, i radi:
Code: <html>
<script type = "text/javascript">
setInterval("parent.frames[1][0].location = 'http://www.google.com';", 1000);
</script>
<frameset rows="80%,20%">
<frame src="frame_a.htm">
<frame src="frame_b.htm">
</frameset>
</html>
[ iizuzetan @ 13.07.2009. 13:46 ] @
Probao sam sledece varijante i nece:
Code:
<HTML>
<HEAD>
<TITLE>CHAT</TITLE>
</HEAD>
<script type = "text/javascript">
setInterval("parent.frames[1][0].location.reload()", 1000);
</script>
<FRAMESET rows="80%,20%">
<FRAME SRC="prikaz.php">
<FRAME SRC="ucitavanje.php">
</FRAMESET>
</HTML>
Code:
<HTML>
<HEAD>
<TITLE>CHAT</TITLE>
<script type = "text/javascript">
setInterval("parent.frames[1][0].location.reload()", 1000);
</script>
</HEAD>
<FRAMESET rows="80%,20%">
<FRAME SRC="prikaz.php">
<FRAME SRC="ucitavanje.php">
</FRAMESET>
</HTML>
Code:
<HTML>
<HEAD>
<TITLE>CHAT</TITLE>
</HEAD>
<FRAMESET rows="80%,20%">
<FRAME SRC="prikaz.php">
<FRAME SRC="ucitavanje.php">
<script type = "text/javascript">
setInterval("parent.frames[1][0].location.reload()", 1000);
</script>
</FRAMESET>
</HTML>
[ vojabgd @ 13.07.2009. 14:44 ] @
Probaj ovako nešto:
Code: <HTML>
<HEAD>
<TITLE>CHAT</TITLE>
<script type = "text/javascript">
function reloadIt()
{
frm=document.getElementsByName("prikaz")[0];
frm.src=frm.src;
setTimeout("reloadIt()",3000);
}
</script>
</HEAD>
<BODY onload="reloadIt()">
<FRAMESET rows="80%,20%">
<FRAME SRC="prikaz.php" name="prikaz">
<FRAME SRC="ucitavanje.php">
</FRAMESET>
</BODY>
</HTML>
Nemam puno iskustva sa ovim, ali mislim da bi trebalo da radi.
[ Nikola Poša @ 13.07.2009. 15:01 ] @
@voja Ne možeš da koristiš tag <body> ako ideš sa frejmovima. Takođe, ti frejmovi se ne nalaze u document opsegu, nego u moraš da im pristupiš kroz parent.
@izuzetan A jesi bar probao ovaj moj primer sa promenom lokacije na www.google.com? Ako to radi, onda sigurno radi i reload, samo se možda u lokalu ne primeti promena, jer se mnogo brzo izvrši... Al' ako baš kažeš da ne radi, probaj i ovako:
Code: <html>
<script type = "text/javascript">
setInterval("parent.document.getElementById('prikaz').location.reload()", 1000);
</script>
<frameset rows="80%,20%">
<frame id = "prikaz" src="prikaz.php">
<frame id = "ucitavanje" src="ucitavanje.php">
</frameset>
</html>
A i naravno, proveri šta kaže Firebug, možda si napravio neku sintaksnu grešku u kucanju...
[ Nikola Poša @ 13.07.2009. 15:15 ] @
A i evo, idi sad na ovu stranicu: http://www.w3schools.com/JS/tryit.asp?filename=try_dom_frame_src, ukucaj ovaj moj kod u ono polje sa leve strane, pa klikni na Edit and Click me.
Code: <html>
<script type = "text/javascript">
setInterval("parent.frames[1][0].location.reload()", 1000);
</script>
<frameset rows="80%,20%">
<frame src="frame_a.htm">
<frame src="frame_b.htm">
</frameset>
</html>
Kao što vidiš to radi.  Ali ti očigledno u tvom kodu treba da podesiš pozicioniranje na pravi frejm, jer npr. u tom mom primeru, ja sam morao da "gađam" baš frames[1], jer na toj stranici za testiranje već imaju jedan frejm, a to je onaj gornji, sa banerima.
[ iizuzetan @ 13.07.2009. 15:27 ] @
resio sam !!! Sljaka ali glavnu stranicu koja rasporedjuje frejmove nisam nista dirao vec sam u fajlu prikaz.php ubacio java skript. Taj prikaz.php faj izgleda ovako:
Code:
<HTML>
<HEAD>
<TITLE>CHAT</TITLE>
</HEAD>
<BODY>
prikaz:<br>
<script type = "text/javascript">
setInterval('window.parent.frames[0].location.reload();', 1000);
</script>
<?
include('baza.php');
$q=@mysql_query('SELECT poruka, nik FROM chat');
$a=0;
while ($redak=@mysql_fetch_assoc($q)){
$a=$a+1;
$korisnici[$a]['nnik']=$redak['nik'];
$korisnici[$a]['pporuka']=$redak['poruka'];
}
$tekst='';
for ($i=1; $i<=$a; $i++){
$tekst= $tekst."<br>".$korisnici[$i]['nnik'].": ".$korisnici[$i]['pporuka'];
}
echo $tekst;
?>
</BODY>
</HTML>
Medjutim sad kad refresuje stranicu ona TREPERI !!!! Pokusavam da napravim chat i sad je ok, kad ubacis poruku izbaci ti je u "sobu" ali TREPERI to jest ucitava non stop i vizuelno je ruzno. Da li neko zna kako se prave chatovi? Ocigledno da preko frejmova se ne moze to napraviti ili moze a ja ne znam. Sta da ubacim u stranicu, da se osvezavaju poruke a da ne treperi????
Uzgred malo sam eksperimentisao i potpuno isto radi i kad se stavi i ovako:
Code:
setInterval('window.location.reload()', 1000);
[Ovu poruku je menjao iizuzetan dana 13.07.2009. u 16:39 GMT+1]
[ vojabgd @ 13.07.2009. 15:59 ] @
@Nikola Hvala za ispravku. Nemam puno iskustva sa javaskriptom. Ono rešenje sam iskopao na nekom engleskom forumu.
@izuzetan Možda je glupa ideja i nije izvodljivo, ali mogao bi da probaš bez refresh frame, nego da koristiš AJAX i svake 2-3 sekunde pozivaš određenu php skriptu i štampaš poruke.
Samo, onda će scrollbar da ide stalno dole, no to se valjda može rešiti kroz javaskript samo ne znam kako.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|