[Help]Website Funktionen/Scripts reloaden ohne F5 etc.!

Hallo bplaced.de Community !

Ich möchte das wenn man auf meine Seite geht eine Uhrzeit hat die sich ständig aktualisiert bzw. weiter läuft auch wenn man auf der Seite ist und sie nicht aktualisiert. Diese Funktion möchte ich später auch für die ein oder andere PhP Funktion, Script, etc. verwenden. Also habe ich folgendes gemacht:

[code]

<?php $time = time(); $actual_time = date('H:i:s', $time); ?>
<?php echo $actual_time ?>
[/code]

Dieser Code erzeugt auf der Website keinerlei Fehler und die Uhrzeit wird angezeigt. Nur aktualisiert sich diese nicht währrend man auf der Seite ist… . Ich habe keine Ahnung an was es liegen kann… . Die Datei [ul]jquery-1.8.0.min.js[/ul] ist die derzeit aktuellste die es gibt! Sprich diese ist auch nicht veraltet und der Pfad etc. habe ich schon soweit richtig angegeben… .

Wenn mir irgendwer weiterhelfen kann und mir sagen könnte warum sich die Uhrzeit nicht ständig aktualisiert wäre ich sehr dankbar!

Nur schon mal im voraus,
bitte postet keine Codes die die gesamte Seite aktualisieren würde. Wie das funktioniert weiß ich selbst und habe es auch schon hinbekommen mit folgendem Code:

[code]

[/code] In dem Falle würde die gesamte Seite sich jede Sekunde reloaden.

Am besten realisiert man das mit deklarativer Animation.
Das ist zum Beispiel in SVG verfügbar, da bastelt man solche eine Uhr einfach zusammen
und die läuft dann (Anleitungen zu ähnlichen Anwendungen gibt es auf meiner Seite im
Bereich SVG und PHP).

Es gibt auch Leute, die realisieren solche Uhren oder Zähler mit kleinen GIFs für die Zahlen,
was aber nicht besonders elegant und genau ist.

Bei deinem Ansatz würde ja allenfalls was passieren, falls java-script interpretiert wird.
Da man nicht sehen kann, was in dem externen Skript steht, bleibt es natürlich geheimnisvoll,
ob das was damit zu tun hat, was der Rest auf der Seite tun soll oder nicht ;o)
Wie man mit java-script über das DOM Inhalte regelmäßig aktualisiert, falls das überhaupt
interpretiert wird, sollte man jedenfalls in vielen vielen Anleitungen im Netz finden - zweifelsohne
auch unter den Voraussetzungen ‘funktionierende’ Uhren-Skripte.
Wenn ich das richtig verstehe, ist dein Ansatz aber auch sehr ungenau, man sollte jedenfalls
nicht von einer Startzeit aus einfach hochzählen. Weil die Schleife eine undefinierte Zeit
braucht, ist das ungenau, das wird bei der deklarativen Animation vermieden.
Bei java-script müßte man (‘Ajax’) die Zeit wohl bei jedem Schritt vom server holen oder aber
immer wieder die Uhrzeit vom browser abfragen und anfangs mit der Startzeit korrigieren.
Ohne jetzt Experte für java-script zu sein, würde ich mal sagen, daß dieser Artikel erklärt,
wie einen Skripteil startet, wenn das DOM komplett verfügbar ist:
molily.de/js/event-handling-onload.html
Damit müßte man dann wohl den Inhalt von #refresh über das DOM immer wieder durch die
aktuelle Uhrzeit ersetzen.
Also etwa eine Startfunktion per onload, die dann eine Funktion (immer wieder) aufruft, welche
in #refresh die Zeit schreibt - in der Tat habe ich mit Goggle innerhalb einer Minute ein
Skript gefunden, welches brauchbar erscheint - 16 Zeilen einschließlich Aufruf und Ausgabeelement ;o)

Ein weiterer, bislang allerdings noch experimenteller Ansatz wäre Animation mit CSS - ist derzeit
noch im Stadium eines Arbeitsentwurfes, aber kann man ja mal ausprobieren. In einigen Jahren
mag man das dann auch auf öffentlichen Seiten einsetzen können - wie der Ansatz mit java-script
eignet sich das allerdings nur für dekorative Aspekte - naja, da jeder eine Uhr hat, sind Uhren
auf internet-Seiten vermutlich meistens rein dekorativ, besonders wenn sie mit java-script oder
CSS realisiert sind. Bastelt man sie hingegen mit PHP+SVG eignen sie sich recht gut, um eine
Information darüber zu liefern, wie spät es gerad auf dem server ist.

Ansonsten, der untere Kram mit der Seitenaktualisierung sieht mir auch nicht sehr plausibel
aus, funktioniert auch bestenfalls, wenn java-script interpretiert wird - besser jedenfalls, man
sendet einen (inoffiziellen) Aktualisierungswunsch im head und bietet zusätzlich Verweise
an, mit denen man das manuell auslösen und wieder stoppen kann - jedenfalls sollte man das
nicht im Sekundentakt tun, um den Nutzer nicht in den Wahnsinn zu treiben ;o)

Könntest du mir das ganze mal in ein funktionierendes Script packen, was du für das sinnvollste hältst als Lösung? Die Uhr war wie gesagt nur ein Beispiel… . Würde ich explizit eine Uhr suchen gebe es viele flash Lösungen die einem teils sogar kostenlos angeboten werden.

Ich bräuchte ein Script das, auch wie ich es bereits versuchte, einmal in den Head Bereich der Seite muss und dann über einen div befehl immer wieder Abrufbar ist. Sprich damit ich einzelne Scripte ständig reloaden lassen kann. Ein gutes Beispiel hierzu um es verständlicher zu machen, was ich meine, wäre facebook. Man postet einen Beitrag und sieht sofort, ohne die Seite neu laden zu müssen, wenn wer auf den Beitrag etwas antwortet. Oder auch oben rechts auf facebook sieht man, ohne die Seite neu laden zu müsse, was die Freunde alles so machen/unternehmen/posten :smiley: .

Hoffentlich versteht man nun was ich suche und bislang weiß ich nicht wie ich das am besten hinbekommen soll… . Ich hoffe mir kann das nun mal wer anhand eines funktionierenden Scriptes dies zeigen. Ob das die beste Lösung sein wird ist zunächst einmal egal. Schließlich kann jeder andere hier im Forum, wenn er meint er hätte eine bessere Lösung, ein anderes funktionierendes Script posten! :wink:

MfG.

Hi,

im Grunde unterstützen wir dich (und alle anderen User) gerne bei deiner Herausforderung - allerdings kauen wir keinen Code vor, der dann ohne Verständnis für die Funktionsweise einfach per copy-paste übernommen wird. Das heißt natürlich nicht, dass wir keine Fragmente zeigen - aber fertige Scripts wirst du hier nicht erwarten können.

Das was du nun beschreibst lässt sich übrigens ganz leicht via Ajax erledigen. Dazu gibt es hier entsprechende Dokumentationen und Einstiegshilfen.

Bei gezielten Fragen stehen wir dir gerne zur Verfügung :slight_smile:

Ich meine, für sowas hat man doch RSS-feeds etc erfunden.
Man abonniert das, es wird dann vom browser regelmäßig am server angefragt, ob es was
Neues gibt und wenn ja, dann meldet der sich.
Keineswegs ist es effektiv, auf Verdacht jede Sekunde etwa per ‘Ajax’ oder sonstwie die
komplette Seite abrufen zu lassen, um nachgucken zu lassen, ob sich da was geändert hat,
das käme schon fast einem Angriff auf den server nahe, wenn das mehrere Leute
veranstalten würden ;o)

Meist sendet der server ja bereits in den head-Informationen, ob sich was geändert hat.
Von daher muß man prinzipiell auch nur diesen Sachverhalt abfragen, nicht etwa das ganze
Dokument … Da das bei den ‘feeds’ natürlich schon sinnvoll vom browser abgefragt wird, wird das
auch die effektivste Methode sein, statt da selber was zu basteln.
Wenn die Freunde keinen ‘feed’ anbieten, werden die vermutlich auch meist nicht so viele
Neuigkeiten haben, da wird es dann reichen ein oder zweimal täglich - oder wöchentlich,
monatlich zu gucken, ob die was Neues veröffentlicht haben ;o)