7

嗨,我已经尝试以下方法在 MSIE / IE7 和 IE8 中找到引荐来源网址,但每次都返回空白;

PHP:

<?
echo $_SERVER['HTTP_REFERER'];
?>

JAVASCRIPT:

document.write('Thanks for visiting from ' + document.referrer);

有谁知道我使用另一个域上的页面中的 document.location 引用的问题可能是什么,并且可以在除 MSIE 之外的所有其他浏览器上正常工作。

任何帮助都会很棒!

4

3 回答 3

5

HTTP 协议不需要HTTPReferer标头

  • 它仅作为信息发送
  • 浏览器可以或不能发送它(这可以解释为什么您使用某些浏览器获取它,而不是使用其他浏览器获取它)
  • 我想,在某些情况下,某些防火墙/安全软件可以将其删除(如果我没记错的话,几年前我就看到过)
  • 用户可以轻松锻造

这意味着您不能依赖于Referer您的应用程序:您可以使用它来提供一些附加功能,但即使它不存在或不正确,您的应用程序也必须工作。

于 2010-03-17T07:36:54.540 回答
1

HTTP_REFERRER 在 IE 浏览器中不起作用,它适用于所有浏览器,如 mozilla、safari、opera 等... Referrer 方法在 IE 中无法识别,当我们将其应用于 IE 时,它将返回 null。实际上使用 HTTP_REFERRER 本身并不是一个正确的标准,因为我们不能指望它会起作用,因为它不是标准的 HTTP HEADER。

于 2012-02-07T14:29:19.647 回答
-2

这是您可以尝试的技巧:

    var referLink = document.createElement('<a href="' + theUrl + '" target="' + theWindow + '"></a>');
    document.body.appendChild(referLink);
    referLink.click();
于 2012-02-07T21:33:21.100 回答