Bildschirmschoner
Stephanie
- javascript
Hallo zusammen!
Wir stellen hier gerade eine unfangreiche Offline-Präsentation zusammen, die auch wunderbar funktioniert. Diese soll auf einem Terminal laufen, wo einzelne Besucher herumsurfen können. Nun gibt es aber das Problem, daß ein Besucher vielleicht mittendrin aufhört zu surfen und der nächste, der vielleicht viel später kommt, gar nicht weiß, wo er ist. Also hat uns ein freundlicher Mensch ein tolles avi erstellt, das quasi als Bildschirmschoner auf einer HTML-Seite abläuft und zeigt, was den Besucher erwartet und wie er das Terminal bedienen kann.
Das Script, um den Schoner aufzurufen, habe ich hier im Archiv gefunden:
<script language="JavaScript">
timeleft = 100; // time in seconds
aktiv = window.setTimeout("settime(" + timeleft + ")",1000);
function settime(timeleft)
{
if(aktiv) { window.clearTimeout(aktiv); }
timeleft = timeleft - 1;
window.status = timeleft;
if(timeleft > 0) { aktiv = window.setTimeout("settime(" + timeleft + ")",1000); }
if(timeleft <= 0) { window.location.href = schoner.html"; }
}
</script>
<script for="document" Event="onmousemove()" language="JavaScript">
settime(timeleft);
</script>
<script for="document" Event="onkeydown()" language="JavaScript">
settime(timeleft);
</script>
Das funktioniert auch super. Wenn die Maus sich nicht bewegt, kommt der Schoner. Nur weiß ich nicht, wie ich von schoner.html wieder zurück komme: hier soll der Wechsel zur index.html ja gerade durch Bewegung der Maus aufgerufen werden.
Vielen Dank im voraus für die freundliche Hilfe von einer genervten Javascript-Anfängerin
hi
also das müsste dann auch wieder mit onMousemove bzw. onKeydown funktionieren und dann ne weiterleitung zu index.html
hi
also das müsste dann auch wieder mit onMousemove bzw. onKeydown funktionieren und dann ne weiterleitung zu index.html
Hi zurück
Ja, das hatte ich auch so gedacht und etwas in der Art ausprobiert (in der Datei schoner.html):
<script language="JavaScript">
function go()
{ window.history.back() }
</script>
<script for="document" Event="onmousemove()" language="JavaScript">
go();
</script>
<script for="document" Event="onkeydown()" language="JavaScript">
go();
</script>
Nur leider verschwindet die schoner.html sofort wieder, fast schneller als man gucken kann, also ohne auf eines der genannten events zu warten??!!
gibts vielleicht nen scriptfehler... schiessen sich vielleicht die scripte gegenseitig ab?
gibts vielleicht nen scriptfehler... schiessen sich vielleicht die scripte gegenseitig ab?
Nee; mein IE ist so eingestellt, daß er Scriptfehler anzeigt...
Irgendwo ist glaube ich ein gedanklicher Fehler in diesem Code
<script language="JavaScript">
function go()
{ window.history.back() }
</script>
<script for="document" Event="onmousemove()" language="JavaScript">
go();
</script>
Es scheint wirklich so zu sein, daß hier auch so eine Art timeout benötigt wird; die Seite scheint gar nicht darauf zu warten, daß heir ein Event eintritt
Hallo Stephanie
Ja, das hatte ich auch so gedacht und etwas in der Art ausprobiert (in der Datei schoner.html):
<script language="JavaScript">
function go()
{ window.history.back() }
</script>
<script for="document" Event="onmousemove()" language="JavaScript">
go();
</script>
<script for="document" Event="onkeydown()" language="JavaScript">
go();
</script>
Nur leider verschwindet die schoner.html sofort wieder, fast schneller als man gucken kann, also ohne auf eines der genannten events zu warten??!!
Eigentlich müßtest Du mit dem Script Erfolg haben. Ich habe es eben auch mal ausprobiert, und tatsächlich ist die schoner-datei sofort wieder weg.
Was mir allerdings aufgefallen ist: Wenn der Mauszeiger sich nicht mehr über dem Dokument befindet bleibt die schoner.html aktiv.
Das ist zwar in meinen Augen nicht die korrekte Reaktion des Browsers, (Mouseover ist ja nicht MouseMove) aber evtl. kommt der Browser tatsächlich ein bischen durcheinander.
Evtl. sollte in der schoner.html eine Art Verzögerung eingebaut werden, also das die Überprüfung auf Mausbewegungen oder Tasteneingaben erst 1-2 Sekunden nach laden der Datei aktiviert wird.
Naja, keine fertige Lösung aber evtl. eine Möglichkeit.
Viele Grüße,
Horst
nochmal Hallo,
... ja, tatsächlich läufts mit einer Verzoegerung,
Scriptteil in der schoner.html:
<script language="JavaScript" type="text/JavaScript">
<!--
var verzoegerung = 1;
var aktiv = window.setTimeout("aktiviere()",2000);
function aktiviere() {
if(aktiv) {
window.clearTimeout(aktiv);
}
verzoegerung = 0;
}
function gotoindex() {
if(verzoegerung == 0) {
window.location.href = "index.html";
}
}
//-->
</script>
<script for="document" Event="onmousemove()" language="JavaScript">
gotoindex();
</script>
<script for="document" Event="onkeydown()" language="JavaScript">
gotoindex();
</script>
=:)
Viele Grüße,
Horst
nochmal Hallo,
... ja, tatsächlich läufts mit einer Verzoegerung,
Scriptteil in der schoner.html:
<script language="JavaScript" type="text/JavaScript">
<!--
var verzoegerung = 1;
var aktiv = window.setTimeout("aktiviere()",2000);
function aktiviere() {
if(aktiv) {
window.clearTimeout(aktiv);
}
verzoegerung = 0;
}
function gotoindex() {
if(verzoegerung == 0) {
window.location.href = "index.html";
}
}
//-->
</script>
<script for="document" Event="onmousemove()" language="JavaScript">
gotoindex();
</script>
<script for="document" Event="onkeydown()" language="JavaScript">
gotoindex();
</script>
=:)
Viele Grüße,
Horst
Ein verspätetes Hallo zurück! (Ich hänge gerade am Radio und höre Champions Liga).
Aber ich habe deine Idee gleich getestet und es hat so funktioniert, wie gedacht und erhofft. Vielen Dank und einen schönen (Fußball?-) Abend noch
Stephanie