# Refresh Event



## booper (8. März 2004)

hi,

ich habe vor einen Frame/Zelle/Pic auf meiner HP nach zB 1sec zu refreshen. Kann ich das mit einen "on-xxx Event" machen?


----------



## Sven Mintel (8. März 2004)

No, da musst du per setTimeout/setInterval machen, oder per META-Refresh.

Ein Event feuert nur, wenn ein bestimmtes Ereignis eintritt... der Ablauf einer bestimmten Zeitangabe gehört nicht dazu.


----------



## booper (8. März 2004)

hm alles klar und wie mache ich das mit setTimeout?

mal angenommen ich will das hie refreshen:


```
<body>
<img src="bla/blub.jpg">
</body>
```


----------



## Sven Mintel (8. März 2004)

```
<body>
<img src="bla/blub.jpg"name="myPic">
<script type="text/javascript">
<!--
function refresh(o)
{o=document.images[o];o.src=o.src;}
setInterval("refresh('myPic')",5000);
//-->
</script>
</body>
```


----------



## booper (9. März 2004)

```
{o=document.images[o];o.src=o.src;}
```

könnteste mir die Zeile mal bitte erklären?


----------



## Fabian H (9. März 2004)

o beinhaltet zuerst den Namen des Bildes.
Sagen wir, o wäre `Bild1'

Dann wird o der Wert _document.images['Bild1']_ zugewiesen.

o.src Ist dann folglich _document.images['Bild1'].src_ und beinhaltet die URL des
Bildes.


----------



## booper (9. März 2004)

sry aber kapier ich so nich...

wo wir das bild dem refresh zugewiesen?
so wie ich es verstanden habe ist


```
function refresh(o)
{o=document.images[o];o.src=o.src;}
```

die eigentliche funktion, und

```
setInterval("refresh('myPic')",5000);
```

der  Aufruf der Funktion?

die Zeit wird in Millisecunden angegeben oder?

wenn die Funktion also aufgerufen wird sieht es dann so aus oder?:


```
function refresh(myPic)
{myPic=document.images[myPic];myPic.src=myPic.src;}
```

was passiert dann mit dem Img, wo durch wird das dann refreshed?
es wird doch nur die  src wieder auf die gleich src gesetzt., aber denn passiert bei mir nix. hier das was ich daraus gemacht habe:


```
<body>
<img src="http://USER:PW@boopersserver.orgdns.org/webcam/keller.jpg" name="webcam" border="0">

<script type="text/javascript">
<!--
function refresh(o)
{o=document.images[o];o.src=o.src;}
setInterval("refresh('webcam')",2000);
//-->
</script>
</body>
```

wobei USER und PW bei mir eingesetzt sind...


----------



## Sven Mintel (9. März 2004)

"refreshed" wird es durch
	
	
	



```
o.src=o.src;
```

 dem Bild wird dadurch eine neue "src" zugewiesen.... 

dass die neue src identisch mit der alten ist, interessiert das Skript dabei nicht... ergo wird das Bild neu geladen


----------



## booper (9. März 2004)

hm das Problem is das es nicht neu geladen wird....


----------



## Sven Mintel (9. März 2004)

Keine Ahnung... vielleicht holts dein Browser aus'm Cache.
Bei mir wird (zumindest versucht) , alle 2 sek das Bild neu zu laden... zu sehen kriegsch natürlich nix

P.S. In deinem Keller ist's aufgeräumter als in meinem Wohnzimmer


----------



## booper (9. März 2004)

http://www.boopersside.de/webcam/bildanzeige.html

da soll das bild angezeigt werden, bzw wird es ja aber nicht refresht


----------



## Sven Mintel (9. März 2004)

Merkwürdig... bei mir wirds zwar refreshed(lt.statuszeile)... aber nicht angezeigt


----------



## booper (9. März 2004)

hm, habs mit mozilla und iexplorer versucht... muss ich da irgentwas umstelln?
n kumpel meint das es bei ihm auch nicht geht....

mal n Frage die 2000 von irgentwas als Intervall entsprechen doch 2sec oder?


----------



## Sven Mintel (9. März 2004)

Der Browser ist da eigentlich egal.... das Bild ist ja da.... es wird auch etwas geladen. Ich schätze allerdings, dass dies eine Seite mit einem Zugriffsfehler ist, was anstatt des Bildes geladen wird... und die kann der Browser logischerweise nicht als Bild anzeigen.

Es hapert also irgendwo an den Berechtigungen beim Zugriff aufs Bild.... von ner HTML-Seite ist diese nicht gegeben... wenn mans direkt über die Adresszeile versucht , dann gehts ab und zu  


Zu der 2000....das siehst du richtig.


----------



## booper (9. März 2004)

Der Zugriff is in ordnung, er zeigt das Bild ja an es wird nur nicht refresht.

Das Problem is nur das der Inetexplorer oder jeder andere Browser das Bild als Temp speichert und ich das irgentwie ausheblen muss, so das er das Bild nach dem Interval immer neu downloaden muss, was er jetzt ja nicht macht.


----------



## Sven Mintel (9. März 2004)

Wenn du meinst 

Ich kann dir nur erneut mitteilen, dass ich dein Bild nur sehen konnte, wenn ich es direkt über die Adresszeil aufgerufen habe... nicht jedoch innerhalb der mittlerweile verschwundenen Webseite.

Zum Thema Caching hatte ich hier schon was geschrieben... rootsw in einem anderen Thread zum selben Thema ebenfalls....


----------



## Sven Mintel (9. März 2004)

mal zum Testen...-->läuft die Uhr hier weiter? 
bei mir ja...


----------



## Sven Mintel (10. März 2004)

Alternativ könntest du es hiermit machen:

```
<script type="text/javascript">
<!--
function refresh(o)
{
now=new Date();now=now.getTime();
o=document.images[o];
o.src=o.src.replace(/\?.+/,'')+'?'+now;
}
//-->
</script>
```

Da wird der Bildadresse als Parameter ein Timestamp rangehängt.... damit sollte er es auf jeden Fall vom Server holen.

-->Test2


----------



## booper (10. März 2004)

also die Uhr die du als erstes gepostet hast bewegt sich nicht, aber die Zweite geht und so hab ich es jetzt auch bei meinem Img gemacht, geht auch 

thx


----------



## Sven Mintel (10. März 2004)

Na endlich.... jetzt kann ich ruhig schlafen


----------

