Jörg Reinholz: Frage zum Wiki-Artikel ‚Aktive Inhalte einbinden‘

Beitrag lesen

Moin!

<iframe name="I1" src="http://fak-om.de/templates/Datenbank-Startseite.htm" border="0" frameborder="0" marginwidth="0" marginheight="0" height="570" width="770" javascript:I1.location.reload(true)>

Leider funktioniert das so nicht. Kennt jemand eine andere Lösung?

Unsaubere Lösung:

Man kann das Neuladen mit dem Hammer erzwingen in dem man als Parameter einen zufälligen Wert übergibt.

<h1>foo</h1>
<script>
document.write('<iframe name="I1" src="http://fak-om.de/templates/Datenbank-Startseite.htm?' + Math.random() + '" border="0" frameborder="0" marginwidth="0" marginheight="0" height="570" width="770">');
</script>

oder mit php:

<h1>foo</h1>

<iframe name="I1" src="http://fak-om.de/templates/Datenbank-Startseite.htm?<?php echo rand(0, 999999999); ?>" border="0" frameborder="0" marginwidth="0" marginheight="0" height="570" width="770">

Dazu müsstest Du die Datei aber mit der Endung .php versehen. Selbstverständlich kann man statt des Zufallswertes auch einen Zeitstempel, z.B. die seit dem 1.1.1970 00:00:00 vergangenen Sekunden, senden.

Fast richtige Methode:

Man konfiguriere den Server so, dass das Cachen richtig funktioniert. Und da sehe ich folgendes:

fastix@trainer:~$ wget -d --delete-after http://fak-om.de/templates/Datenbank-Startseite.htm
Setting --delete-after (deleteafter) to 1
DEBUG output created by Wget 1.15 on linux-gnu.

URI encoding = »UTF-8«
--2016-01-27 12:46:32--  http://fak-om.de/templates/Datenbank-Startseite.htm
Auflösen des Hostnamen »fak-om.de (fak-om.de)«... 81.169.145.158, 2a01:238:20a:202:1158::
Caching fak-om.de => 81.169.145.158 2a01:238:20a:202:1158::
Verbindungsaufbau zu fak-om.de (fak-om.de)|81.169.145.158|:80... verbunden.
Created socket 3.
Releasing 0x0000000001070240 (new refcount 1).

---request begin---
GET /templates/Datenbank-Startseite.htm HTTP/1.1
User-Agent: Mozilla/5.0 (Windows rv:32.0) Gecko/20100101 Firefox/32.0
Accept: */*
Host: fak-om.de
Connection: Keep-Alive

---request end---
HTTP-Anforderung gesendet, warte auf Antwort...
---response begin---
HTTP/1.1 200 OK
Date: Wed, 27 Jan 2016 11:46:32 GMT
Server: Apache/2.2.31 (Unix)
Last-Modified: Wed, 27 Jan 2016 10:48:31 GMT
ETag: "94deaee-28c8-52a4e8afee69f"
Accept-Ranges: bytes
Content-Length: 10440
Keep-Alive: timeout=3, max=100
Connection: Keep-Alive
Content-Type: text/html
---response end--- 

Und das sieht eigentlich gut aus. ETag wird gesendet und Last-Modified scheint zu stimmen. Um das Verhalten kontrollieren zu können müsste man die Ressource ändern...

Noch besser:

Übrigens ist der Weg mit dem IFrame "eher sehr ungünstig". Das wirst Du merken wenn der Inhalt nicht (mehr) passt. Auch werden zu viele Requests erzeugt, was den Seitenaufbau stark verlangsamt.

Wenn Du etwas wie php benutzen kannst informiere Dich über die Möglichkeiten, Dateien einzulesen und auszugeben:

<h1>Tolle Seite</h1>
<?php
readfile ($_SERVER['DOCUMENT_ROOT'] . '/templates/Datenbank-Startseite.htm');
?>

Jörg Reinholz