php
  • javascript
  • 2012-12-31 53 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

    相关问题