js 刷新页面时,位置不变,兼容ie、火狐、谷歌

1、兼容ie、火狐、谷歌:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br /><button onclick="window.location.reload()">21312</button>a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />a<br />

</body>
<script type="text/javascript">

window.onload=function(){
    
    var n=window.name;
    if(isNaN(n)){
        return;
    }
    
    document.documentElement.scrollTop=n;
}
window.onscroll=function(){
       // window.name=document.documentElement.scrollTop;  //只兼容ie 和 火狐
        window.name=document.documentElement.scrollTop+document.body.scrollTop; //兼容ie 和 火狐 和 谷歌浏览器
}

</script>
</html>

 

2、不兼容火狐

    //js控制页面刷新时,滚动条位置不变
    function window.onload() 
    { 
        try {
                var arr; 
                if(arr=document.cookie.match(/scrollTop=([^;]+)(;|$)/)) 
                document.documentElement.scrollTop=parseInt(arr[1]); 
                document.body.scrollTop=parseInt(arr[1]); 
            }
        catch(err) {}
    }

    //页面刷新前保存滚动条位置信息到cookie
    function window.onbeforeunload(){ 
    var scrollPos; 
    if (typeof window.pageYOffset != 'undefined') { 
       scrollPos = window.pageYOffset; 
    } 
    else if (typeof document.compatMode != 'undefined' && 
         document.compatMode != 'BackCompat') { 
       scrollPos = document.documentElement.scrollTop; 
    } 
    else if (typeof document.body != 'undefined') { 
       scrollPos = document.body.scrollTop; 
    } 
    document.cookie="scrollTop="+scrollPos; 
    } 
    //js控制页面刷新时,滚动条位置不变

posted @ 2015-10-08 14:55  z542601362  阅读(586)  评论(0)    收藏  举报