Archivlink: javarea.de Forum > JavaScript > Falls sich Maus X Minuten nicht bewegt - laden eines Links
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Falls sich Maus X Minuten nicht bewegt - laden eines Links

Pages: [1]

geschrieben von DoMe2k6 am 02.08.2006 - 16:50
Hi,

ersteinmal wollte ich loswerden, was das hier für ne tolle Seite ist und das viele
Effekte, wenn sie zum Teil auch nur Spielereien, wirklich toll gelungen sind und
ich es echt nette finde, das die Programmierer diese Scripte jederman einfach so zu freien
Verfügung geben.

Dafür meinen vollen Respekt.

Nun ist es leider so, das ich von der Sprache an sich nicht wirklich viel Ahnung habe und mich jetzt seit circa. einem halben Jahr mit Java abquäle und einfach nicht schlau daraus werde.

Selbst für "JAVA für Dummies" bin ich wohl noch zu dumm .

Ich kann außer ein wenig PHP und ein wenig HTML nicht wirklich programmieren und mache viel mit Editoren, was mich nun aber ziemlich einschränkt und auch nervt.
Deshalb wollte ich nachfragen ob jemand, mir vielleicht irgendetwas zum lernen empfehlen kann, also für totale Trottel

Nun kommen wir zu meinem eigentlichen Problem:

Ich hab eine Homepage auf einem Surfterminal erstellt(so ein Kasten der in der Landschaft steht und an dem man rumklicken kann.. ) eine Homepage erstellt.

Dies beginnt mit einem Flash-Intro auf dem man Willkommen geheißen wird und sich danach eine Sprache aussuchen kann.
Durch denn Link kommt man auf die eigentlich Seite.

Ich möchte nun, das wenn sich an diesem Terminal länger Zeit niemand aufhält (ca. 10min) automatisch wieder die Seite des Flash-Intros geladen wird.

Nun kann ich ja leider nicht wissen, ob sich gerade jemand an diesem Terminal befindet, ansonsten könnte ich ja einfach eine 10 Minunten AutoReload Funktion einbauen, das wäre kein Problem.
Doch dies wäre, falls gerade ein Benutzer an diesem ist sicher sehr ärgerlich für ihn und deswegen möchte ich das vermeiden.

Ich hab mir nun gedacht, das wenn die Maus 10 Minuten nicht bewegt wird, man davon ausgehen kann, das sich niemand an diesem Terminal befindet, da die einzelnen Texte nicht so groß sind, das, man 10 Minuten benötigt um sie zu lesen.

Also liese sich dieses Problem vielleicht irgendwie mit dem "MoveMouse" Befehl realisieren?

Da mein Horizont leider programmiersprachlich nicht groß genug ist, habe ich allerdings keine Ahnung wie ich dies in Java-Script umsetzen könnte..

Vielleicht hat einer von euch eine Idee, bzw. kann mir einen kleinen Code schreiben, falls es keinen riesigen Aufwand erfordert(ich möchte niemanden stundenlang damit beschäftigen ;) )

Würde mich auch jeden Fall auf ein Feedback freuden.

Schönen Feierabend noch.

Dominik

geschrieben von Micha am 02.08.2006 - 19:01
Hi

Zeit es Dir hinzubiegen habe ich nicht, aber JavaScript ist einfach und ich werde Dir ein Gerüst geben, welches Du nutzen kannst, um selbst zu einer Lösung zu kommen.

Zunächst benötigen wir die Mausbewegung auf dem Dokument:

HTML-Quelltext
1: 
window.document.onmousemove = goToStart;


mousemove, ermittelt also, ob die Maus sich bewegt hat und muss eine Funktion aufrufen, die ich mal goToStart genannt habe.

dort musst Du ein Intervall abfragen bzw. setzen oder stoppen. JS bietet Dir dazu setTimeout und clearTimeout (schau bitte bei SELFHTML nach)

Dein Code muss also, wenn kein TimeOut gesetzt ist, einen setzen - dies kann beim laden der Seite passieren. Immer, wenn sich die Maus bewegt, musst Du diesen TimeOut zerstören (clear) und sofort neu setzen. schafft es dann ein Timeout mal, 10 Minuten zu laufen, dann mache ein document.reload();

Ich hoffe, ich konnte Dir helfen. Wenn Du Probleme bei der Umsetzung hast, dann frag aber für Dein Script solltest Du afaik auch etwas Eigenleistung zeigen.
Micha

geschrieben von René am 02.08.2006 - 22:22
Hallo Dominik,

HTML-Quelltext
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
<html>
<head>

<script type="text/javascript">
<!--
var dv = 10 * 60 * 1000; // 10 Minuten
var rr = (new Date().getTime()) + dv;

function mouse_move()
{
	rr = (new Date().getTime()) + dv;
}

function zurueck()
{
	var jetzt = new Date().getTime();

	if (jetzt >= rr)
		top.location.replace('http://127.0.0.1/'); // Weiterleitung nach Ablauf der Zeit
}

setInterval(function() { zurueck(); }, 10000); // 10 Sekunden
//-->
</script>

</head>
<body onmousemove="mouse_move();">

</body>
</html>

geschrieben von Micha am 02.08.2006 - 23:46
Hallo,

Zitat
 Original geschrieben von derletztekick am 02.08.2006 - 19:01
für Dein Script solltest Du afaik auch etwas Eigenleistung zeigen.


doch nicht

@René:
Das sollte so nicht stimmen! Die Funktion zurueck() wird aller 10 Sekunden "grundlos" aufgerufen und verfälscht somit die Zeit um bis zu 10 Sekunden (in wie weit das bei 10 Minuten relevant ist, sei mal dahingestellt)

Micha

geschrieben von weisnix am 03.08.2006 - 07:36
Zitat
 Original geschrieben von derletztekick am 02.08.2006 - 23:46
@René:
Das sollte so nicht stimmen! Die Funktion zurueck() wird aller 10 Sekunden "grundlos" aufgerufen und verfälscht somit die Zeit um bis zu 10 Sekunden (in wie weit das bei 10 Minuten relevant ist, sei mal dahingestellt)

Micha


Das sehe ich allerdings anders!

Von der Funktion her ist das eine durchaus elegante Lösung.

Es wird über zurueck alle 10 Sec. geprüft ob die „nichtaktive Mauszeit“ erreicht ist. Wenn ja gibt es ein neues Laden der Seite. Bei Bewegung der Maus wird eine neue Zeit gesetzt.

Er möchte aber auf die Intro-Seite zurück. Das läst sich aber leicht änder.

if (jetzt > rr)
window.location.href = "intro.html";




geschrieben von Micha am 03.08.2006 - 07:52
Hi,


...deswegen stimmt die Rechnung trotzdem nicht, da kann man auch nichts anders sehen! Im "Extremfall" sind es 10 Minuten und 9.9999... Sekunden, mehr habe ich nicht gesagt.

Micha

geschrieben von René am 03.08.2006 - 09:36
Hallo Michael,

du hast naturlich recht aber mir waren bei 10 Minuten das Interval von, sagen wir, 1 Sekunde zu klein. Wenn es Ihm zu groß ist kann er das ja jederzeit ändern.

@Dominik,

1000 = 1 Sekunde


geschrieben von Micha am 03.08.2006 - 09:43
Hallo,

Zitat
 Original geschrieben von derletztekick am 02.08.2006 - 23:46
in wie weit das bei 10 Minuten relevant ist, sei mal dahingestellt)


ich denke nicht, das es einen nennenswerten Unterschied macht ob exakt bei 10 Minuten oder bei 10min +maximal 10 Sekunden die Seite wechselt und hatte dies auch versucht s.o. auszudrücken.

Für eine schöne Lösung halte ich es im übrigen auch - zumindest besser als die, die mir zunächst in den Sinn kam

Micha


geschrieben von weisnix am 03.08.2006 - 09:57
Nein ich kann es mir nicht verkneifen!

So eine Seite würde ich nur zwei mal betreten. Das erste und letzte Mal. Egal ob ich nach 10 Min. oder 10,999999999999999 Min. auf eine andere Seite verlinkt werde.

@DoMe2k6

gehe doch mal davon aus, dass ich auf einer deiner Seiten einen Text lesen möchte und parallel auf einer anderen Page Seiten durchforste.

Jetzt komme ich nach 10 Min. zu dir zurück – und schwups bin ich wieder am Anfang.

Da gibt es nur eins! aufnimmerwiedersehen

geschrieben von Micha am 03.08.2006 - 15:23
Hi,

Zitat
 Original geschrieben von weisnix am 03.08.2006 - 09:57
Nein ich kann es mir nicht verkneifen!


Nein, Du hast nicht richtig gelesen:

Zitat
 Original geschrieben von DoMe2k6 am 02.08.2006 - 16:50
Ich hab eine Homepage auf einem Surfterminal erstellt(so ein Kasten der in der Landschaft steht und an dem man rumklicken kann.. ) eine Homepage erstellt.


Wenn Du einmal Fahrkarten an einem DB Automaten geholt hast, kennst Du das Prinzip - fährst Du nun nicht mehr mit öffentlichen Verkehrsmitteln?

Micha


geschrieben von weisnix am 05.08.2006 - 08:24
Nun auf eine Frage sollte man eine Antwort bekommen.

@derletztekick „Nein ich benutze keine öffentlichen Verkehrsmittel. Das heißt nicht , dass ich irgend wann auf sie zurückgreifen muss.“

Zu dem impfende ich es an einem Surfterminal erstrecht störend, da dort wohl Geld verlangt wird.

Diese Lösung einer automatischen Seitenrückstellung sollte man nur in betracht ziehen, wenn nur ein Fenster geöffnet werden kann und Querverweise nicht ein zweites öffnen.

PS:
Ihr dürft natürlich tun was ihr immer ihr für eure Page braucht. Alles Andere ist nur mein Standpunkt der nicht einmal zur Kenntnis genommen werden muss.

geschrieben von Micha am 05.08.2006 - 10:44
Hi,

nur noch kurz: Bei der Bahn ist es afaik kein zurück zur Startseite sondern ein Bildschirmschoner, damit der Monitor geschont wird. Ferner geht es dort vll auch um Datenschutz, so das die Seite sich "ändert" (weiß ich aber nicht). Ob nun aber nach 10 Minuten inaktivität der Bildschirmschoner oder die Startseite wiederkommt, ist hier eher sekundär relevant. Es scheint dort zumindest einen technischen Hintergrund zu haben. Diesen empfinde ich dort zumindets auch nicht als störend.

Meine Bahnzeit ist zwar auch schon etwas her aber 10 Minuten: nicht klicken, nicht berühren, keine Eingabe zu tätigen und somit den Automaten sich selbst zu überlassen, habe ich noch nicht geschafft und wäre auch nicht Sinn dieses Teils

Deine Meinung sollst Du natürlich äußern, es hat keiner Dir - als Moderator - dies zu verbieten; schon gar nicht ein gemeiner User ;) Ich möchte Dir nur trotzdem in diesen Punkt entschieden wiedersprechen - darf ich? :P

Liebe Grüße Micha

geschrieben von DoMe2k6 am 08.08.2006 - 09:55
Hallo erstmal
und vielen vielen Dank für die Mühe die ihr euch gemacht habt
mir dieses schöne Script zu schreiben, was mich inzischen schon viel Zeit und Nerven gekostet hat .
Also nochmals Danke


Und zu eurer Diskussion: Das Surfterminal steht in einem Gebäudekomplex, ist nicht kostenpflichtig und gibt nur Auskünfte und die Ausstattung der Gebäude, deren Inhalten, ein paar Spielereien, Terminen, Firmenphilosophie usw. .

Den Aktualisierungseffekt wünsche ich mir nur als Präsentationsmittel.

Angenommen Person X läuft an das Terminal es is wild auf einer Seite, die Person hat keine Ahung wie sie da weiterkommt usw. , klickt paar mal rum findet nix und verliert die Lust

ODER

Person XY kommt an das Präsentationsterminal, es ist ein Emblem der Firma obendrauf,
man wird in 3 Sprachen mit 3 Flaggen, Herzlich Willkommen begrüßt, kann sich dann seine Landessprache aussuchen und befindet sich danach im Hauptmenü, wo alles schön übersichtlich ist und man gleich findet was man sucht...

fröhliches schaffe noch

DoMe


Powered by: JBB v.2.0.4 Copyright ©2000-2006, www.javarea.de.