Hilfe: Reload von divs in denen Webseiten implementiert sind

gizemoAC

Grünschnabel
Hallo zusammen!

Ersteinmal will ich euch mitteilen da sich AJAX - Anfänger bin. habe zwar einige erfahrungen in HTML und PHP sammeln könnnen, jedoch ist AJAX neugebiet für mich.

Mein Ausbilder kam in den letzten Tagenn mit dem Anliegen zu mir eine "Startseite" in Ajax zu entwerfen, auf der man bis zu vier verschiedene Internet auf einem Blick hat. Diese Internet Seiten sollen sich jede Sekunde selber aktuallisieren, aber so das man es nicht mitbekommt (sprich AJAX).

Jetzt habe ich zwei Probleme:

1. Wie bekomme ich den Reload hin?
2. Wie bekomme ich in die DIVs Internetseiten integriert?

Ich bin shcon zwei Tage bei Google und heir im Forum unterwegs um entsprechende Beispiele zu finden um sie dann zu modifizieren. Leider ohne Erfolg. Der Reload soll nicht mit einem Klick auf einem Button starten sondern direkt mit dem aufrufen der Seite.
Es gibt zwar einige Ansätze aber ich hab noch kein Script gefunden was passen könnte.

Es wär super wenn ihr einpaar Ideen hättet, aber wie gesgat ich bin Anfänger =)

Und wie soll man die Internetseite in das DIV bekommen?
Hier sollen z.b. später Werte aus Nagios oder Werte aus einer eigenen Webseite ständig reloadet werden.

Ich bitte um eure Mithilfe

Anbei noch eine kleine, grobe Skizze die mein Proble verdeutlichen soll.

divjy5.jpg
 
Moin,

dein Ausbilder hat komische Ideen :-)

Angesichts der Tatsache, dass man nicht einfach ein HTML-Dokument in ein anderes einbetten kann(das würde dir das Elterndokument komplett zerschiessen), wird dir wahrscheinlich jeder sagen, nehme iframes.

Da du das aber mit AJAX machen sollst, würde ich sagen: nehme trotzdem iframes :suspekt:

bette in die 4 div's jeweils 1 leeres iframe ein, hole per AJAX den HTML-Code der Webseite ab, und schreibe diesen in das Dokument im iFrame.

Damit auch die Pfade zu eingebetteten Ressourcen stimmen, ergänze das Dokument im iFrame noch mit einem <base href="?">

Den Reload bekommst du hin, indem du halt per AJAX jede Sekunde die Ressource neu abfragst(wobei ich kaum annehme, dass das in Sekundenabständen lange gutgeht).

Aber bevor du anfängst, frage deinen Ausbilder am Besten nochmal, ob du das wirklich mit AJAX machen sollst, und nicht mit Javascript(was nicht dasselbe ist), denn die Aufgabenstellung klingt wirklich etwas hanebüchen :rolleyes:
 
würdauch mit java script gehen wenn ich da shinbekommen würde.. aber ajax und java speieln doch eh zusammen oder?

wie müsste ich da vorgehen?

gibt es da evebntuell irgendwo scriptschnippsel die ich mir mal anguceken könnte
 
AJAX ist ein Bestandteil von Javascript, deswegen hat die Verwendung von Javascript noch nicht gezwungenermaßen etwas mit AJAX zu tun(umgekehrt schon).

Rein von den benötigten Features her müsstest du ein iFrame mit der betreffenden Seite als Inhalt erstellen.

Über die reload()-Methode kannst du dann die Seite im iFrame in den benötigten Zeitabständen neu Laden.
Die Zeitsteuerung erreichst du über die Methoden setTimeout() oder setInterval()

Soweit zur Theorie...in der Praxis geht dies nur, wenn sich alle Seiten, also die Elternseite als auch die Seiten im iFrame unter der selben Domain zuHaus sind...andernfalls würde der reload() aufgrund von Sicherheitsbeschränkungen geblockt.

Um es trotzdem hinzubekommen kann man sich bspw. der Methode window.open() bedienen:
Code:
<iframe src="http://www.google.com/webhp"          
        name="irgendeinEindeutigerName"         
        onload="setTimeout('window.open(\''+this.src+'?new Date().getTime()\',\''+this.name+'\')',1000)" 
        width="300" 
        height="300"></iframe>

Wichtig ist dabei, dass das iFrame ein eindeutiges name-Attribut hat.

Es wird in dem iFrame dadurch eine neue Seite geöffnet, wobei der src der aktuelle Zeitstempel angehangen wird, um zu Verhindern, dass diese Seite aus dem Browsercache geladen wird.
 

Neue Beiträge

Zurück