引用脚本卡在循环中

时间:2013-05-19 00:05:28

标签: javascript javascript-events

我要做的是将用户根据他们的推荐网址重定向到促销页面。在下面的脚本中,如果有人来自“mydomainsite.com”的推荐网址,他们将被发送到“mydomainsite.com/promo.html”当我在页面“mydomainsite.com/promo.html”中有下面的脚本时它来自“mydomainsite.com”的引用它似乎循环或继续加载页面,它从不加载页面“mydomainsite.com/promo.html”脚本必须在“mydomainsite.com/promo。 html,“对该页面做促销页面,每个人都无法访问该页面。我假设这是由于indexOf,它检查“mydomainsite.com”然后执行。有没有办法来解决这个问题?

<script language="JavaScript">
if (document.referrer.indexOf('mydomainsite.com') > -1)
location.href='http://mydomainsite.com/promo.html';
else
location.href='http://notfrommydomainsite.com';
</script>

1 个答案:

答案 0 :(得分:0)

正如评论中所提到的,referrer数据不可靠,但是如果你想要追求这个......

mqost可能导致您遇到的问题是,当到达重定向的promo.html时,它会发现引荐来自mydomainsite.com,因此它只会自行创建无限循环。

您需要对此进行测试并通过检查location.pathname不是promo.html来避免循环:

if (document.referrer.indexOf ('mydomainsite.com') > -1 && 
        location.pathname !== 'promo.html')
    location.href = 'http://mydomainsite.com/promo.html';