Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Automatisches Refresh und position halten einer HTML Seite

Frage Entwicklung JavaScript

Mitglied: Totty

Totty (Level 1) - Jetzt verbinden

27.02.2008, aktualisiert 15:23 Uhr, 7201 Aufrufe, 4 Kommentare

Hallo Forum,
ich habe ein kleines Problme mit JavaScript, vielleicht kann mir ja einer von euch helfen. Undzwar habe ich eine Tabelle die in html format und im Abstand von 2 min neu geschrieben wird.
jetzt würde ich gerne, das diese Html Datei sich selbst "refresht" und die position wo man gerade ist behält. Habe das ganze schon gemacht und das sieht so aus:
<HEAD>
<script type='text/javascript'>
var time = 5000;
function refresh()
{
top.frame_scroll_Xpos = new Array(window.scrollLeft);
top.frame_scroll_Ypos = new Array(window.scrollTop);
location.reload();
}
setTimeout("refresh()",time);
function get_position()
{
var scroll_Xpos = top.frame_scroll_Xpos;
var scroll_Ypos = top.frame_scroll_Ypos;
window.scrollTo(scroll_Xpos,scroll_Ypos);
}
</script>
</HEAD>
<BODY onload='get_position();' >

Wenn ich nun hingehe und per F5 aktualiesiere dann funkitoniert das ganze auch, aber wenn der nach 5 sek das macht, dann springt der immer nach ganz oben. Woran liegt es, wo ist mein Denkfehler?

Für Ideen und Ändeurngen bin ich dankbar!
Gruß Totty
Mitglied: Arano
27.02.2008 um 11:21 Uhr
Moin,

der Denkfehler liegt hier:
01.
function refresh() 
02.
03.
top.frame_scroll_Xpos = new Array(window.scrollLeft); 
04.
top.frame_scroll_Ypos = new Array(window.scrollTop); 
05.
location.reload(); 
06.
}
Erst scrollt das Document an die angegebenen Position (wenn es so funktionier, keine Ahnung!)
Und danach erst wird das Dokument neu geladen, das neu geladen Dokument hat aber keine "erinerung" an die letzte Position im Browser, woher auch :wink: der reload wirkt warscheinlich wie ein ganz normaler Request.

Eine Möglichkeit wäre dem neuzuladenem Dokument mitzuteilen wo es "hin soll".
Ich bin mir nicht sicher ob es überhaubt mit JS so möglich ist, aber ich denke daran das du die "alten Positionsdaten" per GET an das "neue" Dokument übergiebst
01.
window.location.href = "./datei.html?scrollPos=200;
Im Dokument selber muss das dann wieder per JS ausgelesen und verarbeitet werden.

Mal so neben bei:
Ist es wirklich notwendig das die Seite alle 5 Sek neu geladen wird wenn die Daten nur alle 120 Sek neu generiert werden ?

Achso, F5 ist eine Funktion des Browsers, keine der Website ! Bei einem druck auf F5 merkt sich der Browser warscheinlich selber die gescrollte Position, läd das Dokument neu und scrollt wieder an die Position.

Gruß Arano
Bitte warten ..
Mitglied: Totty
27.02.2008 um 13:43 Uhr
Hi Arano,
danke für die Zeit, mir zu Antworten.

Die 5 Sekunden sind da im Moment nur zum testen.
Sonst wäre es durchaus etwas irrsinnig, wie du sagtest.
Standardmässig sollten es 30 Sek sein, nur beim Programmieren immer 30 Sekunden zu warten bis man sieht ob es funktiioniert oder nicht, ist doch ein wenig "ätzend".
Im Prinzip speichert er dort (function refresh) ja nur die aktuelle Position in die Variablen(top.frame_scroll_Xpos und top.frame_scroll_Ypos) die er dann bei function get_position() wieder einsetzt !?

Gruß Totty
Bitte warten ..
Mitglied: Arano
27.02.2008 um 14:13 Uhr
Moin Totty

jaa, das mit den 5 Sek leuchtet ein, hät ich mir ja auch denken können !
Und das in der Funkton "refesh()" nur die Positionen gespeichert werden hät ich auch sehen können.

Naja, das ändert fast nichts an dem was ich sagte, den nach dem reload sind die beiden Variabeln leer, evtl. existieren sie nicht einmal ! Das kanst du ganz einfach prüfen in dem du ein "alert(top.frame_scroll_Xpos);" in die Funktion "get_position()" schiebst.
Wie schon erwähnt, jede Seite fängt bei Null an und somit sind alle Daten die nur in Variabeln "gespeichert" sind verloren werden sie nicht in in einem Cookie gespeichert oder per URL übergeben.

Gruß Tobias
Bitte warten ..
Mitglied: Totty
27.02.2008 um 15:22 Uhr
Hi Tobias,

du hast Recht, die Variable ist undefined.
Jetzt ist natürlich die Frage, ob es Sinn hat, dafür extra einen Cockie anzulegen. Oder ob es nicht die Möglichkeit gibt, es anders zu realisieren?

Gruß Totty
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
HTML
gelöst HTML-Seite auf mehreren Geräten öffnen (6)

Frage von Crumpy zum Thema HTML ...

Windows 10
gelöst Automatisches öffnen der Seite msn.com (9)

Frage von Web-Spirits zum Thema Windows 10 ...

Webentwicklung
HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

HTML
Captive Portal login Seite (2)

Frage von gansa28 zum Thema HTML ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (10)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...