php
  • javascript
  • 2012-12-31 98 views 2 likes 
    2

    的兩行所有主流瀏覽器,除了IE瀏覽器,下面的腳本的頁面返回到其先前的垂直位置上重裝:記住頁面位置使用腳本

    <?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中的垂直位置?謝謝。

    回答

    2

    w3Schools

    IE 8和更早的版本不支持此屬性,但可以使用 「document.body.scrollLeft」 和 「的document.body.scrollTop」 代替。

    +0

    謝謝,AlecTMH,但我的問題是如何修改我的代碼來完成此?我從另一個論壇獲得了這個技巧,但我不是一個JavaScript人。 – Gosundi

    +0

    嘗試用'document.body.scrollTop'代替'window.pageYOffset' – AlecTMH

    +0

    我自己想到了這個,但不幸的是,它不起作用。你有什麼其他的建議。謝謝。 – Gosundi

    1

    我使用下面的代碼做基本的IE /非IE瀏覽器檢測:

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

    你應該能夠將它與AlecTMH的document.body.scrollLeftdocument.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 
        } 
    } 
    

    ......幾乎可能是功能代碼。

    +0

    哇!我認爲解決方案比這更復雜。我會試試看。 – Gosundi

    相關問題