Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [JS] Seite bei bedarf aktualisieren (https://www.delphipraxis.net/52167-%5Bjavascript%5D-seite-bei-bedarf-aktualisieren.html)

faux 24. Aug 2005 23:03


[JS] Seite bei bedarf aktualisieren
 
Hallo!

Ich will eine Seite per JavaScript akutualisieren. Jedoch nur, wenn sich die Seite geändert hat.
Also vom Prinzip her würde ich das so machen:
  • Die aktuelle Seite in eine Variable Laden
  • Die neue Seite in eine Variable laden
  • Variablen vergleichen
  • Eventuell Seite neu laden

Aber wie kann ich a) den Inhalt der Seite und b) die "neue" Seite in eine Variable bekommen?

Danke schon mal

Grüße
Faux

PS: Mir würde schon ein Funktionsnamen genügen...

Matze 24. Aug 2005 23:10

Re: [JS] Seite bei bedarf aktualisieren
 
Ich verstehe den Sinn dahinter nicht ganz. Wenn du die neue Seite sowieso per JS lädst, kannst du sie doch auch gleich im Browser selbst neu laden, oder nicht?

yankee 24. Aug 2005 23:17

Re: [JS] Seite bei bedarf aktualisieren
 
Du kannst mit JavaScript nur dein aktuelles Doukument verändern (alles andere wäre auch eine Sicherheitslücke :-)). Also ist es damit nicht möglich eine andere Seite in eine Variable reinzuladen. Zumindest incht mit JavaScript. ABer es geht mit Java.. Hab's sleber nie probiert, aber hier steht ein bißchen was dazu...
Die Seite neuzuladen ist aber denkbar einfach:

window.location.reload();

bloß, wenn du die Seite eh nur dann nurladen willst, wenn sie sich geändert hat, kann du sie doch auch gleich neuladen und wenn sie sich nicht geändert hat, passiert eben nicht viel...

faux 25. Aug 2005 07:46

Re: [JS] Seite bei bedarf aktualisieren
 
Ja, ok Danke...

Das Problem ist, dass auf der Seite ein Eingabefeld ist, dass zwar beim neuladen nicht leer ist, es stört aber, wenn man dann kurz nicht tippen kann... ;)
Aber dann werd ichs einfach alle 60sec neu laden....

Grüße
Faux

alcaeus 25. Aug 2005 08:26

Re: [JS] Seite bei bedarf aktualisieren
 
Moin faux,

du willst z.B. gewisse Teile nachladen, sobald in einem Eingabefeld etwas geaendert wurde, oder die Seite nur bei Aenderungen nachladen? Dann darf ich dir AJAX und das XMLHTTPRequest-Objekt vorstellen.
Ich hoffe mal ich hab dich richtig verstanden, deshalb mal ein kleiner Ueberblick, was die Dinger machen: du rufst mit den Requests eine beliebige Internetseite auf. Ist diese eine gueltige XML-Datei, so steht dir ein Document Tree zur verfuegung, den du mit getElementsByTagName() durchgehn kannst. Ist es keine XML-Datei, so gibt es immer noch die Moeglichkeit, den gesamten Rueckgabetext der Seite abzufragen. So, und wie nutzt man das?
Ich z.B. habe es verwendet, um Benutzereingaben zu pruefen, waehrend der Benutzer noch das Formular ausfuellt. Beim onBlur eines Eingabefelds schicke ich einfach den Request, warte auf die Antwort, und wenn was kommt, dann werte ich es auch und blende ggf. eine Zeile ein, die einen Fehlertext enthaelt.

D.h., du koenntest die neue Seite erstmal versteckt laden, und falls sie anders ist (du musst nur noch einen guten Weg finden, den aktuellen Quelltext zu speichern) schreibst du mit document.write() einfach den neuen Source in die Datei, geladen ist sie ja schon ;)

Greetz
alcaeus


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz