F
Florian42
Guten Tag
Ich habe eine Anleitung mit mehreren Seiten. Der Link zum Umschalten auf die nächste Seite ist jeweils ganz unten. Dazu muss man ein wenig scrollen. Nun schnallt der Browser beim wechseln der Seite immer wieder ganz nach Oben (da ist noch ein Header-Bild oben dran), was mir nicht gefällt. Also habe ich folgendes JavaScript gebastelt:
<script title="text/JavaScript">
var destination;
function getScrollXY(destination) {
var scrOfX = 0, scrOfY = 0;
if( typeof( window.pageYOffset ) == 'number' ) {
//Netscape compliant
scrOfY = window.pageYOffset;
scrOfX = window.pageXOffset;
} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
//DOM compliant
scrOfY = document.body.scrollTop;
scrOfX = document.body.scrollLeft;
} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
//IE6 standards compliant mode
scrOfY = document.documentElement.scrollTop;
scrOfX = document.documentElement.scrollLeft;
}
var url = destination + "?scrX=" + scrOfX + "&scrY=" + scrOfY;
window.location.replace(url);
}
function scroll (x,y) {
window.scrollTo(x, y);
}
</script>
Dazu ein wenig PHP:
<?php
if (htmlspecialchars($_REQUEST['scrX']) != "")
{
$scrOfX = $_REQUEST['scrX'];
}
else
{
$scrOfX = 0;
}
if (htmlspecialchars($_REQUEST['scrY']) != "")
{
$scrOfY = $_REQUEST['scrY'];
}
else
{
$scrOfY = 0;
}
?>
und die Onload-Option im Body:
<body onload="javascript:scroll(<?php echo $scrOfX.','.$scrOfY;?>)">
Implementiert wird das Script im HTML-Link-Tag:
<a href="javaScript:getScrollXY('2.html')" name="Seite 2">2</a>
Mein Problem: Das funktioniert nur, wenn JavaScript im Browser aktiviert ist. Die Anleitung soll allerdings auch ohne JavaScript (halt wie bisher, dass der Browser nach oben schnallt) funktionieren. Also wer JavaScript unterstützt ist im Vorteil, bei dem wird automatisch gescrollt, wer JavaScript nicht untzerstützt kann die Dokumentation trotzdem in vollem Umfang nutzen.
Also wie kann ich das so hin biegen, dass beide Varianten (mit und ohne JS) funktionieren?
Vielen Dank für eure Hilfe!
Ich habe eine Anleitung mit mehreren Seiten. Der Link zum Umschalten auf die nächste Seite ist jeweils ganz unten. Dazu muss man ein wenig scrollen. Nun schnallt der Browser beim wechseln der Seite immer wieder ganz nach Oben (da ist noch ein Header-Bild oben dran), was mir nicht gefällt. Also habe ich folgendes JavaScript gebastelt:
<script title="text/JavaScript">
var destination;
function getScrollXY(destination) {
var scrOfX = 0, scrOfY = 0;
if( typeof( window.pageYOffset ) == 'number' ) {
//Netscape compliant
scrOfY = window.pageYOffset;
scrOfX = window.pageXOffset;
} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
//DOM compliant
scrOfY = document.body.scrollTop;
scrOfX = document.body.scrollLeft;
} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
//IE6 standards compliant mode
scrOfY = document.documentElement.scrollTop;
scrOfX = document.documentElement.scrollLeft;
}
var url = destination + "?scrX=" + scrOfX + "&scrY=" + scrOfY;
window.location.replace(url);
}
function scroll (x,y) {
window.scrollTo(x, y);
}
</script>
Dazu ein wenig PHP:
<?php
if (htmlspecialchars($_REQUEST['scrX']) != "")
{
$scrOfX = $_REQUEST['scrX'];
}
else
{
$scrOfX = 0;
}
if (htmlspecialchars($_REQUEST['scrY']) != "")
{
$scrOfY = $_REQUEST['scrY'];
}
else
{
$scrOfY = 0;
}
?>
und die Onload-Option im Body:
<body onload="javascript:scroll(<?php echo $scrOfX.','.$scrOfY;?>)">
Implementiert wird das Script im HTML-Link-Tag:
<a href="javaScript:getScrollXY('2.html')" name="Seite 2">2</a>
Mein Problem: Das funktioniert nur, wenn JavaScript im Browser aktiviert ist. Die Anleitung soll allerdings auch ohne JavaScript (halt wie bisher, dass der Browser nach oben schnallt) funktionieren. Also wer JavaScript unterstützt ist im Vorteil, bei dem wird automatisch gescrollt, wer JavaScript nicht untzerstützt kann die Dokumentation trotzdem in vollem Umfang nutzen.
Also wie kann ich das so hin biegen, dass beide Varianten (mit und ohne JS) funktionieren?
Vielen Dank für eure Hilfe!