ie下面 $_SERVER['HTTP_REFERER'] 取不到值
有个页面跳转 链接是这样的
写了没登录的情况:
点击链接-> 判断登录与否-> 没登录(window.location)跳到 登录页面
服务端通过 $_SERVER['HTTP_REFERER'] 接收 来路域名, 但是IE 下面 取不到值
请问如何解决?
我现在的 解决办法是直接在 跳转的url 里面加上了参数,有别的好办法吗 ?
多多良 小伞
12 years, 6 months ago
Answers
这个纯属ie在作怪,HTTPREFERER在ie下是无法识别window.location的。可以识别的 HTTPREFERER 提交是通过click 触发的事件、a 标签或者是 Form 表单提交的请求。
所以你可以用dom生成一个a标签,然后自动执行 onclick 事件。
建议你别用HTTP_REFERER来获取前传地址,可以在请求url里加个返回地址参数,这样就不用考虑浏览器兼容问题了。
给你一个通过生产a标签来的例子:
function getRefer(url)
{
if(document.all)
{
var referUrl = document.createElement('a');
referUrl.href = url;
document.body.appendChild(referUrl);
referUrl.click();
}
else
{
window.location.href = url;
}
}
絶望だんご
answered 12 years, 6 months ago