检测用户之前的域

时间:2016-11-13 09:53:35

标签: html web

我有一个小的加载动画,当用户来自我的域外时,我希望在我的主页上运行,但是当来自我的域内的另一个页面时,我不希望它显示。

我尝试使用document.domaindocument.referrer.split...来获取以前的域名,并运行if-command但似乎无法使其正常运行。

编辑:

我尝试使用if - 命令和document.referrer.split... - 命令,再次作为回答者说明但动画仍然总是显示,现在它也永远不会停止......

<head>
<body>
<div class="loader"></div>

<style>.loader {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background: url('http://bosonprotein.com/onewebmedia/Magiska%20Bollar.gif') 50% 50% no-repeat rgb(0,0,0);
    background-size: 10%;
}

</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
if(document.referrer.split('/')[2]!=location.hostname){
   $(window).load(function() {
    setTimeout(function(){
            $('.loader').fadeOut('slow', function () {
            });
        },1000);
   })
}
else{
}

</script>
</body>
</head>

3 个答案:

答案 0 :(得分:1)

您可以使用此技术解析引荐来源网址:

var parser = document.createElement('a');
parser.href = document.referrer;

parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port;     // => "3000"
parser.pathname; // => "/pathname/"
parser.search;   // => "?search=test"
parser.hash;     // => "#hash"
parser.host;  

parser.host将返回您来自推荐人的域名。

答案 1 :(得分:0)

您可以使用cookie和jQuery,而不是检测域,可能是这样的。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="welcome">
  <div>
    <h1>Hello..!<br> Welcome to ABC
    <br>
    </h1>
    <h2>We wish you a Great Day..!</h2>
    <br>

    <h2><a id="close-welcome" href="#">Thank you.. and please take me to the     website</a> </h2>
  </div>
</div>

$(document).ready(function() {
    if ($.cookie('noShowWelcome')) $('.welcome').hide();
    else {
        $("#close-welcome").click(function() {
            $(".welcome").fadeOut(1000);
            $.cookie('noShowWelcome', true);    
        });
    }
});

这将仅按会话加载。

答案 2 :(得分:0)

document.refferer.split()是解决问题的正确解决方案。

根据documentationdocument.refferer返回上一页的URI。

将拆分后的URI与location.host进行比较,如下面的代码段:

if(document.referrer.split('/')[2]!=location.hostname){
   //I came from another domain
}else{
   //I came from this domain
}

我在不同的项目中使用了这个解决方案,但它确实有效。