Scrollbar Position merken!

Mit einer PHP / Javascript Kombination:

HTML:
<script>
function GetScrollY(){
    if (self.pageYOffset) // all except Explorer
    {
        return self.pageYOffset;
    }
    else if (document.documentElement && document.documentElement.scrollTop)
    // Explorer 6 Strict
    {
        return document.documentElement.scrollTop;
    }
    else if (document.body) // all other Explorers
    {
        return document.body.scrollTop;
    }
}

function OpenURL(url){
    location.href=url + '&scroll=' + GetScrollY();    
}

</script>

in den Head bereich, alle links so erstellen:

HTML:
<a href="site.php?param=abc" onClick="OpenURL('site.php?param=abc'); return false;">Link</a>

und im php gibst du ganz am ende der seite (wenn sie schon aufgebaut ist) das hier aus:


PHP:
echo '<script>window.scrollTo(0,'.$_GET[scroll].');</script>';

Ansonsten könnte man ihn auch beim seitenverlassen den Parameter anhängen lassen, aber ich hatte es immer nur diverse Links das der browser stehen bleibt.

Wenn du formulare hast kannst du die GetScrollY Funktion nutzen um ein Feld "Scroll" vor dem abschicken zu füllen oder so.
 
Funktioniert richtig gut. Aber ist nicht ganz das was ich brauche, schade das ich kein java script kann. Pass auf ich hab einen Katalog mit Bildern. Klickt man auf ein solches Bild erscheint es groesser (die Seite wird also neu geladen). Wenn man jetzt auf den zurueck (seite wird wieder neu geladen) button klickt sollte man wieder im Katalog, genau an der stelle sein wo man war. Ich weiss es gibt mehrere Wege das mit den Bildern aber mein Kunde moechte es so haben.
 
Hmm dann übergebe an die Vorschauseite eben die Scrollpossition (ohne sie zu verwenden), und bei dem Link "Zurück" nimmt man die Scrollpossition aus GET, hängt sie wieder an, und lässt die Liste wieder an genau diese Stelle springen. Natürlich kann man sie Genausogut für den einen Schritt in der SESSION zwischenspeichern oder so.

Alternativ: bei einem klick auf "zurück" oben im browser springt er doch auch genau da wieder hin, vielleicht würde es ein einfacher Javascriptlink mit history-1 auch tun?
 
Zurück