IE没有设置document.referrer

时间:2012-12-03 10:18:54

标签: javascript html internet-explorer browser document

我通过在IE中调试来仔细观察它;如果我提交表单或点击任何链接,但是当我使用document.referrer IE javascript window.location重定向到其他网页时,IE确实设置了did not set document.referrer

5 个答案:

答案 0 :(得分:6)

试试这个

<script type="text/javascript" >            
function redirect(url) {
    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){
        var referLink = document.createElement('a');
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    } else {
        location.href = url;
    }
}
</script>

source

答案 1 :(得分:5)

信息:Internet Explorer不会在不安全的情况下发送Referer标头

在Internet Explorer 4.0及更高版本中从一个文档链接到另一个文档时,当链接从HTTPS页面到非HTTPS页面时,将不会发送Referer标头。当链接来自非HTTP(S)协议(例如file://)到另一个页面时,也不会发送Referer标头。

Microsoft

答案 2 :(得分:2)

最简单的解决方案是你可以使用window.opener.location.href,它适用于所有浏览器。

答案 3 :(得分:1)

当您尝试在弹出窗口中发送或使用window.location时,IE不支持引荐来源。您可以通过多种方式发送引荐来源。但是如果你试图在服务器端获得它,如果通过JS弹出更改位置或在使用IE时更改JS中的位置,那么你将不会拥有它,因为IE内置安全问题。检查窗口或window.open属性。you can go here

答案 4 :(得分:-1)

试试这个:

<script type="text/javascript">
$("#button").click(function(){

        window.open("about:blank", "win_name", "height=370,width=365, top=50, left=90, scrollbars=yes,resizable=no,menubar=no");
        sForm = '<form action="url.php" method="post" target="win_name">';
        sForm += '</form>';
        //alert(sForm);return;
        $(sForm).appendTo('body').submit();
        return;

     });
</script>