Hallo, ich möchte das mein Iframe sich automatisch jede 30 Sekunden von selbst aktualisiert. Kann mir jemand helfen?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
<iframe src="https://static.turnierlive.com/app/?mode=ko&account=chrys&alias=777&view=zweiundreissigstel" name="Tisch1" width="500" height="1000" onload="das=this;setTimeout(function(){das.src = das.src + '?' + (new Date()).getTime();},30000);">
Chrystiano 
Fragesteller
 14.08.2017, 01:22

Das war genau das, wo nach ich gesucht habe!

Vielen recht herzlichen Dank!

Nebenbei, gibt es beim onload... auch eine Funktion, die bei der Aktualisierung des Iframes ermöglicht, dass es bei der gleichen Seite Aktualisiert? Quasi das es beim refresh nicht zum Startpunkt wieder zurück gelangt, sondern die Iframe Seite bleibt?

0

(...) habe ich es mit Java probiert (...)

Du kannst von Serverseite aus keinen Refresh veranlassen, sofern der Client nicht darum bittet. Eine Lösung wäre es von daher, via JavaScript in einem bestimmten Zeitintervall eine Anfrage an den Server zu stellen, neue Informationen zu schicken. Die Requests kannst du z.B. mittels AJAX oder über WebSockets verschicken. Einen periodisch laufenden Timer kannst du mit der Funktion setInterval realisieren (https://www.w3schools.com/jsref/met_win_setinterval.asp).

Ich bin sehr positiv überrascht, dass schon so viele Antworten in der kurzen Zeit kamen. Jedoch wollte ich euch mein script zeigen, aber weiß nicht wie ich ihn hier reinsetzen kann, da er immer wieder verändert wird und bleibt nicht im blauen Code Kästchen drin.

regex9  13.08.2017, 21:17

Füge deinen Code hier ein: https://pastebin.com/ und schick uns den Link.

0
regex9  13.08.2017, 22:13
@Chrystiano
  1. Java != JavaScript.
  2. Wieso setzt du nicht alles in den Event-Handler hinein? Die Variable iframe muss doch nicht global sein.
  3. Dein iFrame-Element solltest du mit einem id-Attribut ausstatten, wenn du es schon mit getElementById ansprechen möchtest. So wird es derzeit zu Laufzeitfehlern kommen.
  4. Ein iFrame-Element besitzt kein Property location. Wenn du auf diese Eigenschaft zugreifen willst, dann nur über iframe.contentWindow.location.
  5. Das title-Tag sollte das erste Metatag im gesamten head-Bereich sein.
  6. Der Inhalt des Frames zeigt sicherlich auf eine externe Webseite mit anderer Domain? Wenn dem so ist, hast du auf dessen Dokument keinen Zugriff. Setze stattdessen das src-Attribut in jedem Intervall neu:
  7. iframe.src = iframe.src;
0

Sehr unsauber. Wenn Du mit so was anfängst mach es richtig und schau Dir DIVS an und ändere den Inhalt über ajax/JSON.

Guckst Du javascript, jquery

http://api.jquery.com/jquery.getjson/

Ist zwar erst mal ein wenig aufwändiger sich einzuarbeiten, dann erkennt man aber die Vorteile...

meta refresh

aber nicht ins übergeordnete Dokument, sondern ins Dokument, das im iframe angezeigt wird.

Woher ich das weiß:Berufserfahrung – Software-Entwickler
Chrystiano 
Fragesteller
 13.08.2017, 21:12

<meta http-equiv="refresh" content="30">

Das wird bestimmt gemeint, oder?

1
PWolff  13.08.2017, 21:23
@Chrystiano

Ja, du hast recht, ich hab mich etwas (zu) sehr stichwortartig ausgedrückt.

0