iframe automatisch aktualisieren lassen

Schpringer

Mitglied
@Schpringer: Im Code finde ich überhaupt kein JavaScript :confused:

Ach mein Fehler!! Ich habe es ja nur Lokal. Klar findest du es im Internet nicht..

Hier der Code (Nur der spezielle Teil):

HTML:
<body>
<div id="logo"></div>
<div id="commontop">
<table border="0" cellspacing="0" cellpadding="0" height="16px" align="right">
<tr>
<td align="right" valign="top"><img src="http://www.tutorials.de/../images/pctle.gif" width="28" height="16" alt="" border="0"></td>
<td align="right" valign="top" bgcolor="#ffffff"><p class="small"><a class="small" href="http://www.tutorials.de/../sitemap.html">Sitemap</a>&nbsp;&nbsp;|&nbsp;&nbsp;</p><p class="small"><a class="small" href="http://www.tutorials.de/../archiv.html">Archiv</a>&nbsp;&nbsp;|&nbsp;&nbsp;</p><p class="small"><a class="small" href="http://www.tutorials.de/../impressum.html">Impressum</a>&nbsp;&nbsp;|&nbsp;&nbsp;</p></td>
</tr>
</table>
</div>

<div id="eyecatcher"></div>
<div id="eyecatchersmooth"></div>
<div id="eyecatchershade"></div>
<div id="eyecatchershade1"></div>
<div id="eyecatchershade2"></div>
<div id="eyecatchershade3"></div>
<div id="eyecatchershade4"></div>

<!-- Maintopic -->

<div id="menue"><ul><li><a class="maintopic" href="http://www.tutorials.de/../index.html">Home</a></li><li><a class="maintopic" href="http://www.tutorials.de/../ueber-uns/index.html">&Uuml;ber Uns</a></li><li><a class="maintopic" href="http://www.tutorials.de/../events/index.html">Events</a></li><li><a class="maintopic" href="http://www.tutorials.de/../pyramide/index.html">Pyramide</a></li><li><a class="maintopic" href="http://www.tutorials.de/../kontakt/index.php">Kontakt</a></li><li><a class="maintopic" href="http://www.tutorials.de/../media/index.html">Media</a></li><li><a class="maintopic" href="http://www.tutorials.de/../gaestebuch/index.php">G&auml;stebuch</a></li><li><a class="maintopic" href="http://www.tutorials.de/../downloads/index.php">Downloads</a></li><li><a class="maintopic" href="http://www.tutorials.de/index.html">Livestream Summer Cup 2010</a></li><!-- Topic -->

<li><a class="topicsel" href="./index.php">Tisch 1</a></li><!-- Subtopic -->

<li><a class="topic" href="http://www.tutorials.de/tisch2/index.php">Tisch 2</a></li><li><a class="topic" href="http://www.tutorials.de/tisch-3/index.php">Tisch 3</a></li><li><a class="topic" href="http://www.tutorials.de/highbreaks/index.html">Highbreaks</a></li></ul>

<div id="htmlheader">
<META NAME="oben" CONTENT="no-cache">
<script type="text/javascript">
var IFrameTisch1 = null;
window.onload = function()
{
  //alert(document.getElementById("Tisch1"));
  IFrameTisch1 = document.getElementById("Tisch1");
  window.setInterval("RefreshIFrame()", 3000);
}
function RefreshIFrame()
{
  IFrameTisch1.location.reload();
}
</script>
</div>

Bitte entschuldige. Das ist deine erste Variante. Stehen die 3000 immer noch für Millisekunden? Nicht das es funktionieren würde und es einfach zu lange dauert. :)
 

SpiceLab

ZENmechanic
Dann ändere nochmal den Code so ab:
Javascript:
var IFrameTisch1 = null;
window.onload = function()
{
  //alert(document.getElementById("Tisch1"));
  IFrameTisch1 = document.getElementById("Tisch1");
  window.setInterval("RefreshIFrame()", 3000);
}
function RefreshIFrame()
{
  IFrameTisch1.location.reload();
}

Wenn das nicht geht, dann versuche folgendes:
Javascript:
window.onload = function()
{
  window.setInterval("RefreshIFrame()", 3000);
}
function RefreshIFrame()
{
  document.getElementById("Tisch1").location.reload();
}

Du kannst hier noch so viele Varianten zum Versuch anpreisen, bsi ihr nicht mehr wißt, wo hinten und vorne ist :D

Das Script kann bei ihm lokal schlichtweg nicht funktionieren, wenn sich die Seiten innerhalb der iFrames nicht auf der lokalen Arbeitsumgebung befinden, sondern wie in Post #1 und #10 deutlich erkenntlich, auf dem Server liegen.

Die Fehlerkonsole im Browser Eures Vertrauens gibt hierüber eigentlich eine deutliche Auskunft, wenn man denn kurz inne hält, und ihr für einen kurzen Moment Aufmerksamkeit schenkt :p

Fehler: <http://www.xyz.de> wurde die Erlaubnis für den Aufruf der Methode Location.toString auf <file://> verweigert.
 
Zuletzt bearbeitet:

SpiceLab

ZENmechanic
Das Script wird hier weiterhin seine Arbeitsaufnahme verweigern, solange sich der HTML-Code der drei iFrames so darstellt:

HTML:
<h2>Livescore Tisch 1</h2>
<iframe src="http://www.snooker-4d.ch/static/maxi/livescore_table1.html" name="Tisch 1" scrolling="no" frameborder="no" align="center" height = "120px" width = "350px">
</iframe>
<br/>
<h2>Livescore Tisch 2</h2>
<iframe src="http://www.snooker-4d.ch/static/maxi/livescore_table2.html" name="Tisch 1" scrolling="no" frameborder="no" align="center" height = "120px" width = "350px">
</iframe>
<br/>
<h2>Livescore Tisch 3</h2>
<iframe src="http://www.snooker-4d.ch/static/maxi/livescore_table3.html" name="Tisch 1" scrolling="no" frameborder="no" align="center" height = "120px" width = "350px">
</iframe>

Dort sind keine id-Attribute zu entdecken, dafür glänzt noch immer mein angesprochenes fehlerhafte Leerzeichen zwischen "Tisch" und "1" mit seiner regelwidrigen Anwesenheit.

Ich zieh dann mal weiter zu Tisch 4, wo leckere Schnittchen kredenzt werden :D
 
Zuletzt bearbeitet:

ComFreek

Mod | @comfreek
Moderator
@Schpringer: Ja die stehen immer noch für die Millisekunden ;)
Ändere mal den Code so ab:
Javascript:
<script type="text/javascript">
function RefreshIFrame()
{
  document.getElementById("Tisch1").location.reload();
}
window.setInterval("RefreshIFrame()", 3000);
</script>
Jetzt lade diesen Code nochmal auf den Server und probiere es aus:

@spicelab:
Ich weiß, dass die Seiten im Internet liegen.

Wieso soll das nicht funktionieren? Hast du es ausprobiert?
Falls wirklich das der Fehler ist, dann bedanke ich mich bei dir für die Korrektur!
 

Schpringer

Mitglied
Das Script wird hier weiterhin seine Arbeitsaufnahme verweigern, solange sich der HTML-Code der drei iFrames so darstellt:

HTML:
<h2>Livescore Tisch 1</h2>
<iframe src="http://www.snooker-4d.ch/static/maxi/livescore_table1.html" name="Tisch 1" scrolling="no" frameborder="no" align="center" height = "120px" width = "350px">
</iframe>
<br/>
<h2>Livescore Tisch 2</h2>
<iframe src="http://www.snooker-4d.ch/static/maxi/livescore_table2.html" name="Tisch 1" scrolling="no" frameborder="no" align="center" height = "120px" width = "350px">
</iframe>
<br/>
<h2>Livescore Tisch 3</h2>
<iframe src="http://www.snooker-4d.ch/static/maxi/livescore_table3.html" name="Tisch 1" scrolling="no" frameborder="no" align="center" height = "120px" width = "350px">
</iframe>

Dort sind keine id-Attribute zu entdecken, dafür glänzt noch immer mein angesprochenes fehlerhafte Leerzeichen zwischen "Tisch" und "1" mit seiner regelwidrigen Anwesenheit.

Das sind die iframes auf der Seite. Getestet wird es nur mit einem iframe. Der unter der Videoeinbindung. habe jetzt aber mal die anderen auch angepasst.
 

SpiceLab

ZENmechanic
@spicelab:
Ich weiß, dass die Seiten im Internet liegen.

Wieso soll das nicht funktionieren? Hast du es ausprobiert?
Wovon du ausgehen kannst - und zeitig vor dir ;-)

Dann ist dir hier die Same Origin Policy für Javascript kein Begriff, der Hintergrund dir nicht bekannt, dass hier die gleiche Herkunft (Domain, Server) der Dokumente gilt, und die Voraussetzung ist, dass das Script vom Browser interpretiert / ausgeführt wird?


Gegenüber der Windowsumgebung "file:///" ist über das HTTP-Protokoll (http://localhost/) daran auch nichts zu drehen, solange die einzubindenen Seiten auf dem Server liegen, und von außen mit dem Script da was zu holen ist.
 
Zuletzt bearbeitet:

Schpringer

Mitglied
Hey Leute..

Vielen Dank für eure Hilfe. Nun ist es so, dass das ganze System heruntergefahren wurde, da die Gruppenphase durch ist. Kann es also nicht mehr testen, ob es geht.

Erst morgen in der Finalphase wieder. Darf ich mich morgen nochmals melden?

Habe nun den Code von dir hochgeladen und werde morgen sehen, ob es klappt.

Ich danke euch von ganzem Herzen für eure Hilfe. Es tut mir leid, dass ich so ein **** bin und keine Ahnung habe..

Vielleicht bis morgen.

Gruss an euch und Danke
 

ComFreek

Mod | @comfreek
Moderator
Wovon du ausgehen kannst - und zeitig vor dir ;-)

Dann ist dir hier die Same Origin Policy für Javascript kein Begriff, der Hintergrund dir nicht bekannt, dass hier die gleiche Herkunft (Domain, Server) der Dokumente gilt, und die Voraussetzung ist, dass das Script vom Browser interpretiert / ausgeführt wird?


Gegenüber der Windowsumgebung "file:///" ist über das HTTP-Protokoll (http://localhost/) daran auch nichts zu drehen, solange die einzubindenen Seiten auf dem Server liegen, und von außen mit dem Script da was zu holen ist.

Erstmal vielen Dank für den Text. Ich kenne bereits die "Same Origin Policy". (Habe mich mal mit AJAX beschäftigt).
Ich wusste aber nicht, dass das auch bei IFrames gilt. Ich dachte mir, dies gilt nicht, weil nicht direkt darauf zugegriffen wird(nur neugeladen), aber nunja das ist auch nicht erlaubt.
Nochmals Danke für die ganzen Links...
 

Schpringer

Mitglied
Hallo liebes Forum.

Bin wieder mal da... :)

@ComFreek Habe den aktuellen Code von dir hochgeladen, da tut sich aber nix.

Trotzdem vielen Dank für eure Hilfe.

Gruss