|
一种确定浏览器是否接受 Cookie 的方法是先编写一个 Cookie,然后再尝试读取这个 Cookie。如果不能读取这个 Cookie,则可以认为该浏览器不接受 Cookie。
我编写了一个简单的示例来说明如何测试 Cookie 是否被接受。该示例包含两个页面。在第一个页面中,我编写了一个 Cookie,然后把浏览器重新定向到第二个页面。第二个页面尝试读取这个 Cookie,转而将浏览器重新定向到第一个页面,并向 URL 添加一个带有测试结果的查询字符串变量。
第一个页面的代码如下:
protected System.Web.UI.WebControls.Label labelAcceptsCookies; private void Page_Load(object sender, System.EventArgs e) ...{ if(!IsPostBack) ...{ WriteCookie(); } } private void WriteCookie() ...{ if( Request.QueryString["AcceptsCookies"] ==null) ...{ Response.Cookies["TestCookie"].Value = "ok"; Response.Cookies["TestCookie"].Expires = DateTime.Now.AddMinutes(1); Response.Redirect("CookieRead.aspx?redirect="+Server.UrlEncode(Request.Url.ToString())); } else ...{ labelAcceptsCookies.Text = "接受 Cookie = "+Request.QueryString["AcceptsCookies"]; } }
第一个页面测试是否有回信,如果没有,就搜索包含测试结果的查询字符串变量 (AcceptsCookies)。如果没有找到查询字符串变量,则表示测试还没有完成 [1] [2] 下一页
|