Ok, ich denke da ist noch einiges an Arbeit drin.
Zunächst würde ich den von dir beschriebenen Prozess vollkommen unabhängig von deinem HTML-Gerüst realisieren. Somit sieht unser benötigtest HTML-Grundgerüst wie folgt aus.
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ich bin nur ein Titel ...</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body>
<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript" src="./myscript.js"></script>
</body>
</html>
Der für uns wesentliche Aspekt ist das Einbinden der JavaScript-Dateien.
Code:
<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript" src="./jquery.js"></script>
Dabei handelt es sich bei der Datei "./jquery.js" um das
JavaScript-Framework jQuery, welches uns das schreiben unseres speziellen JavaScriptes erleichtert und sicherstellt, dass es bei unterschiedlichen Browsern nicht zu problemen kommt. Das
arbeitende JavaScript befindet sich in der Datei "./myscript.js". Beide Dateien können natürlich auch einen anderen Namen haben und an sich an eine anderen Stelle befinden, obiges ist nur eine einfache Möglichkeit. Sofern du ein größeres Projekt aufbauen möchstest solltest jedoch eine sinnvolle Ordnerstruktur anlegen um es übersichtlicher zu gestallten. Sofern dies länger als ein paar Tage oder wenige Wochen genutzt werden soll, solltest du der Datei "./myscript.js" einen intuitiveren Namen geben, so dass du später schon am Namen erkennen kannst, was sich dahinter verbirgt.
Falls du genaueres über die Positionierung der Aufrufe von JavaScript-Dateien etc. wissen möchtes, so kann ich dies gerne auch nochmal ansprechen.
Kommen wir nun zu einem sehr simplen Quellcode. Ich werde hierbei nicht auf auf mögliche Lösungen eingehen, bei denen der Server dem Browser mitteilen kann, dass es Änderungen gibt, wie es mit
Comet oder
HTML5 WebSocket möglich wäre, da das eine noch eine Anpassung des Servers benötigt und sich das andere noch in einer Entwicklungsphase befindet, sondern eine Ajax-Lösung nutzen, bei der unser Client immer wieder eine Anfrage stellen muss um zu prüfen, ob es Änderungen gab.
Der Inhalt der Datei "./jquery.js" sollte dann wie folgt lauten:
JavaScript:
$(document).ready(function()
{
var cache = new String();
function event()
{
$.ajax({
url: 'http://beispiel.de/textdatei',
dataType: 'text',
success: function(data)
{
if(data != cache)
{
cache = data;
window.open(
'http://beispiel.de/meldung.html',
'Meldung',
'width=400,height=200,scrollbars=no,menubar=no'
);
}
setTimeout(
event,
5 * 60 * 1000 // 5 minutes
);
}
});
};
event();
});
Sofern du aufgrund von Übertagunsraten einen zu langsamen Aufbau dieser Seite beobachtest bietet es sich an, den Aufruf
Code:
<script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript" src="./jquery.js"></script>
in einen einzelnen Aufruf umzuwandeln und den den Inhalt beider Dateien entsprechend in einer Datei zu verknüpfen. Dadurch wird die Anzahl der Verbindungen zum Laden der JavaScript Dateien entsprechend um eine Verbindung verringert und somit die Zeit für diese Verbindungsaufbau eingesparrt.
Code:
<script type="text/javascript" src="./jquery_and_myscript.js"></script>
Generell sollten wir dann aber auch andere Optimierungsmöglichkeiten besprechen.