首页 > 代码库 > 用 js 做 URL 跳转带来的 Referer 丢失问题.
用 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 丢失问题.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。