2

Internet Explorer を除くすべての主要なブラウザーでは、次のスクリプトは、リロード時にページを以前の垂直位置に戻します。

<?php $y = $_COOKIE["y"]; ?> //in head tag before any output

<?php
print "<body onScroll=\"document.cookie='y=' + window.pageYOffset\" onLoad='window.scrollTo(0,$y)'>";

このコードを変更して、IE でページの垂直方向の位置を記憶する方法を教えてください。ありがとう。

4

2 に答える 2

2

w3Schoolsから:

IE 8 以前はこのプロパティをサポートしていませんが、代わりに "document.body.scrollLeft" と "document.body.scrollTop" を使用できます。

于 2012-12-31T15:31:37.347 に答える
1

次のコードを使用して、基本的な IE/非 IE ブラウザーの検出を行います。

if(document.all) {  //if IE
    //code
} else {            //if not IE
    //code
}

これを AlecTMH の提案と組み合わせて、目的の場所に到達できるはずdocument.body.scrollLeftですdocument.body.scrollTop。ただし、その関数を作成してから呼び出す必要がある可能性がありますonScroll()

私はJavaScriptの達人ではありませんが...

function blah() {
    if(document.all) {  //if IE
        document.cookie='y=' + document.body.scrollTop
    } else {            //if not IE
        document.cookie='y=' + window.pageYOffset
    }
}

...ほとんど機能的なコードかもしれません。

于 2012-12-31T16:04:39.683 に答える