xbyi 发表于 2013-10-24 20:07:59

怎么根据当前网址的来路如果不是指定的来路就跳转到指...

怎么根据当前网址的来路如果不是指定的来路就跳转到指定页面?
在网上搜了好多,代码如下:<script type="text/javascript">
if(self!=top){top.location=self.location;}
var ref=document.referrer;
var domains=new Array("jb51.net/","jb51.cn/","jb51.com.cn/");
var refpass=false;
for(i=0;i<=domains.length;i++){if(ref.indexOf(domains)>0){refpass=true;break;}}
if(ref==""){refpass=true}
if(!refpass){window.location.;}
</script>自己改了相应的域名参数,但是好像没有效果,有没有高手指点一下,不甚感激!

yoo 发表于 2013-10-25 08:18:45

第8行是if(!refpass){window.location.;} ,这里少了一段代码。这句的意思是,如果refpass这个变量的值是false就执行后面的操作,显然后面是要跳转到某个网址去,可是你这里少了一段代码。缺少的代码可能是window.location.replace('http://....'),将这个加进入试试。
用javascript代码来做这种跳转并不好,由于js代码实在客户端执行的,如果用户浏览器禁止了javascript功能,这些代码就无法执行,也就无法生效,所以最好是在服务器上用PHP代码来实现。

xbyi 发表于 2013-10-25 09:39:46

yoo 发表于 2013-10-25 08:18 static/image/common/back.gif
第8行是if(!refpass){window.location.;} ,这里少了一段代码。这句的意思是,如果refpass这个变量的值是fa ...

谢谢yoo大,问题已经解决,我用的是META 跳转,可是IE Firefox 在进行META跳转时请求头中document.referrer为空,chrome可以,测试效果并不好,还是用HTTP 302 跳转试试~

yoo 发表于 2013-10-25 09:53:12

我以前测试过,如果是用meta来进行跳转,那么跳转后的页面的referer就是meta所在的页面。如果用PHP在服务器端进行跳转,那么跳转后的页面的referer就是之前显示的页面。
页: [1]
查看完整版本: 怎么根据当前网址的来路如果不是指定的来路就跳转到指...