用 js 做 URL 跳转带来的 Referer 丢失问题.

Posted www.84ren.com返利网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用 js 做 URL 跳转带来的 Referer 丢失问题.相关的知识,希望对你有一定的参考价值。

http 302 重定向是可以保持 referer 的。例:在 A 页面上提交登录表单到 B,B 返回一个重定向页面到 C,在 C 处理里面检查 Referer 可知道它的来源是 A 而不是 B。

但是如果用 window.location 或 document.location 做这个跳转就不一样了。假如在 A 页面上执行 window.location = B,如果是 IE 浏览器,会发现 B 页面的 Referer 为空。firefox 倒是可以保持 Referer,不过在 IE 占绝大部分市场份额的中国,必须想办法避免这个影响。

最后从网上找到这么一个解决方案:

function goTo(url) {

    var a = document.createElement("a");

    if(!a.click) { //only IE has this (at the moment);

        window.location = url;       

return

    }

    a.setAttribute("href", url);

   a.style.display = "none";

   document.body.appendChild(a)   

a.click();

}

以上是关于用 js 做 URL 跳转带来的 Referer 丢失问题.的主要内容,如果未能解决你的问题,请参考以下文章

iframe 为啥得不到 referrer

怎么用js跳转带有URL参数的页面

您如何通过 javascript include 获取 Url Referer?

用Response.Redirect()如何实现跳转frame框架!!!

jquery请求网页地址,并且提示"成功",但是不需要跳转页面,怎么做?

怎么用JS获取当前URL完整地址,然后判断这地址是不是包含有.php或.asp的字符,如果有,则跳转到另一个网址