var
WB: TWebBrowser;
vFlags,vTarget,vPost,Headers:OleVariant;
begin
  Headers:='Referer:http://www.163.com/'+ #10#13;
  WB.Navigate('http://localhost/office/Untitled-2.asp',vFlags,vTarget,vPost,Headers);
end;
在asp文件中可以正常返回referer的值,
    Response.Write Request.ServerVariables("HTTP_REFERER")
    返回:http://www.163.com/
javascript却返回referer为空值,
<script language="javascript">
    var values = document.referrer;
    document.write("FORM JAVA:");
    document.write(values );
</script>
   返回:  (空)谁知是为什么!

解决方案 »

  1.   

    直接输出document.write(document.referrer)试试?
      

  2.   

    不行的,不是输出的问题。我用其它网页连接进来(如:a.html) 是有返回正常值的!
      

  3.   

    HTTP_REFERER Returns a string containing the URL of the page that referred the request to the current page, but does not include redirect requests. Redirect requests are not captured. 这个参数代表的是请求当前页面的那个页面的url地址。
      

  4.   

    可以用msdn的例子试验一下:<TABLE BORDER="1">
    <TR><TD><B>Server Variable</B></TD><TD><B>Value</B></TD></TR>
    <% For Each strKey In Request.ServerVariables %> 
    <TR>
    <TD><%= strKey %></TD>
    <TD><%= Request.ServerVariables(strKey) %></TD>
    </TR>
    <% Next %>
    </TABLE>如果直接请求包含这段代码的页面文件,是不会出现HTTP_REFERER的。
      

  5.   

    var
    WB: TWebBrowser;
    vFlags,vTarget,vPost,Headers:OleVariant;
    begin
      Headers:='Referer:http://www.163.com/'+ #10#13;
      WB.Navigate('http://localhost/office/Untitled-2.asp',vFlags,vTarget,vPost,Headers);
    end;
    在asp文件中可以正常返回referer的值,
        Response.Write Request.ServerVariables("HTTP_REFERER")
        返回:http://www.163.com/
    javascript却返回referer为空值,
    <script language="javascript">
        var values = document.referrer;--referer??
        document.write("FORM JAVA:");
        document.write(values );
    </script>
      

  6.   

    TO Winson 
    在javascript中的确是用docment.referrer的,在的所接收的值却是http 报文中的referer