Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 引用陷入循环的脚本_Javascript_Javascript Events - Fatal编程技术网

Javascript 引用陷入循环的脚本

Javascript 引用陷入循环的脚本,javascript,javascript-events,Javascript,Javascript Events,我试图做的是根据用户的参考url将其重定向到促销页面。在下面的脚本中,如果有人来自“mydomainsite.com”的引用url,当我在页面“mydomainsite.com/promo.html”中有下面的脚本并且来自“mydomainsite.com”的引用时,他们将被发送到“mydomainsite.com/promo.html”,它似乎会循环或继续加载页面,而不会加载页面“mydomainsite.com/promo.html”脚本必须在“mydomainsite.com/promo.

我试图做的是根据用户的参考url将其重定向到促销页面。在下面的脚本中,如果有人来自“mydomainsite.com”的引用url,当我在页面“mydomainsite.com/promo.html”中有下面的脚本并且来自“mydomainsite.com”的引用时,他们将被发送到“mydomainsite.com/promo.html”,它似乎会循环或继续加载页面,而不会加载页面“mydomainsite.com/promo.html”脚本必须在“mydomainsite.com/promo.html”中,如果页面是一个promo页面,每个人都不能访问该页面。我假设这是由于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>

if(document.referer.indexOf('mydomainsite.com')>-1)
location.href=http://mydomainsite.com/promo.html';
其他的
location.href=http://notfrommydomainsite.com';

正如评论中所提到的,
推荐人
数据不可靠,但是如果你想继续这样做

您遇到问题的最可能原因是,当到达重定向的
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';

因此,当访问者来到你的
promo.html
页面时,你将他重定向到同一页面,从而再次触发重定向,依此类推?如果是这样,请删除这种情况下的重定向。@Vedran但是如果有人在promo页面中键入内容,我如何检查引用域/url?这是一个promo offer页面,我希望用户通过引用url或是否存在使其检查引用url,然后将其发送到促销页面?这意味着它必须来自特定的url页面才能访问促销页面。添加额外的
if()
,这样,如果您已经在那里,就不会重定向到
promo.html
。也就是说,JavaScript代码和引用都很容易被欺骗,不值得依赖。此外,还可以设置浏览器,以便它甚至不会给您提供引用信息,这是不太依赖它的另一个原因@韦德兰:谢谢,你有没有更好的方法或建议来帮助我实现目标。谢谢,我也会探讨这个选项。这应该对我有用。:)