前几天遇到一个问题,有个页面需要做一个功能,功能并不复杂,需要浏览器点击返回的时候返回上层链接的首页。

这牵扯2个问题,1,有没有上一层目录。2,上一层是否是https。

其实很简单,下面是代码:

<!DOCTYPE html>
<html lang="zh"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>锁定浏览器返回上一层首页</title>
</head>
<body>
<p>锁定浏览器返回上一层首页</p>
<script>
$(function(){  
//清空浏览器历史记录  
pushHistory();  
//监听浏览器后退事件  
window.addEventListener("popstate",  
    function(e) {  
    //转向指定的URL
    //获取上一层链接
    var refurl = document.referrer;
    //截取主域名
    var refurlhost = refurl.split("/")[2];
    //判定有没有上层目录,以及判定上层目录是不是https
    if(refurl==""||refurl==null||refurl==undefined){
        var refurlhostbalck ="/";
    }else if(refurl.indexOf("https")>=0)
    {
        var refurlhostbalck ="https://"+refurlhost;
    }else{
        var refurlhostbalck ="http://"+refurlhost;
    }
    location.href=refurlhostbalck;  
    }, false);  
    //清空浏览器历史记录  
 function pushHistory() {  
        var url = "#";  
        var state = {  
            title: "title",  
            url: "#"  
        };  
        window.history.pushState(state, "title", "#");  
    }  
});  
</script>
</body>
</html>
最后修改:2019 年 07 月 06 日
如果觉得我的文章对你有用,请随意赞赏