检查客户端浏览器是否支持cookie
2005-04-20 11:32
357 查看
我编写了一个简单的示例来说明如何测试 Cookie 是否被接受。该示例包含两个页面。在第一个页面中,我编写了一个 Cookie,然后把浏览器重新定向到第二个页面。第二个页面尝试读取这个 Cookie,转而将浏览器重新定向到第一个页面,并向 URL 添加一个带有测试结果的查询字符串变量。
第一个页面的代码如下:
第一个页面测试是否有回信,如果没有,就搜索包含测试结果的查询字符串变量 (
测试页面可以完全由代码组成,不需要包含控件。以下就是我使用的代码:
读取
这个示例十分简单,但说明了通过运行程序并查看结果来进行测试的基本原则。其中最需要改进的地方是要永久保存 Cookie 测试结果,这样用户就不必在每次浏览原始页面时都重复进行测试。但是,实际上并不能做到这一点。Cookie 不会起作用,原因是显而易见的。另一种可能是把测试结果保存在会话状态中,但在默认情况下,会话状态也依赖于 Cookie,而如果浏览器不接受 Cookie,会话状态也不会起作用。解决后一个问题的办法是采用无 Cookie 的会话状态。
第一个页面的代码如下:
Sub Page_Load() If Not Page.IsPostBack Then If Request.QueryString("AcceptsCookies") Is Nothing Then Response.Cookies("TestCookie").Value = "ok" Response.Cookies("TestCookie").Expires = _ DateTime.Now.AddMinutes(1) Response.Redirect("TestForCookies.aspx?redirect=" & _ Server.UrlEncode(Request.Url.ToString)) Else labelAcceptsCookies.Text = "接受 Cookie = " & _ Request.QueryString("AcceptsCookies") End If End If End Sub
第一个页面测试是否有回信,如果没有,就搜索包含测试结果的查询字符串变量 (
AcceptsCookies)。如果没有找到查询字符串变量,则表示测试还没有完成,代码就写出一个名为“TestCookie”的 Cookie。写出 Cookie 之后,示例调用 Response.Redirect 来切换到测试页面 (TestForCookies.aspx)。附加到测试页面的 URL 的是名为
redirect的查询字符串变量,该变量中包含了当前页面的 URL,这样就能在执行测试后把重定向到该页面。
测试页面可以完全由代码组成,不需要包含控件。以下就是我使用的代码:
Sub Page_Load() Dim redirect As String = Request.QueryString("redirect") Dim acceptsCookies As String ' 是否接受 Cookie? If Request.Cookies("TestCookie") Is Nothing Then ' 没有 Cookie,因此不需要接受 acceptsCookies = 0 Else acceptsCookies = 1 ' 删除测试 Cookie Response.Cookies("TestCookie").Expires = _ DateTime.Now.AddDays(-1) End If Response.Redirect(redirect & "?AcceptsCookies=" & acceptsCookies, _ True) End Sub
读取
redirect查询字符串变量后,代码就尝试读取 Cookie。为了实现日常管理,如果该 Cookie 确实存在,就会被立即删除。测试完成后,代码从
redirect查询字符串变量传递的 URL 构造一个新的 URL。新的 URL 也包括一个包含测试结果的查询字符串变量。最后一步是使用新的 URL 将浏览器重定向到原来的页面。
这个示例十分简单,但说明了通过运行程序并查看结果来进行测试的基本原则。其中最需要改进的地方是要永久保存 Cookie 测试结果,这样用户就不必在每次浏览原始页面时都重复进行测试。但是,实际上并不能做到这一点。Cookie 不会起作用,原因是显而易见的。另一种可能是把测试结果保存在会话状态中,但在默认情况下,会话状态也依赖于 Cookie,而如果浏览器不接受 Cookie,会话状态也不会起作用。解决后一个问题的办法是采用无 Cookie 的会话状态。
相关文章推荐
- 检查浏览器是否支持javascript和cookie
- [转]检查浏览器是否支持javascript和cookie
- 检测客户端浏览器是否支持cookie
- 检测浏览器是否支持cookie功能
- 检查浏览器是否支持HTML 5功能(附检查代码)
- 判断客户浏览器是否支持cookie
- C# 检查客户端Cookie是否启用
- 判断客户浏览器是否支持cookie的示例代码
- javascript/js 检测浏览器类型和版本,检查浏览器是否支持flash,检查flash版本一站搞定~
- javascript检查浏览器是否支持flash的实现代码
- 检查浏览器是否已经启用Java支持功能
- Cookie编程基础:检查浏览器是否接受Cookie
- 判断客户浏览器是否支持cookie
- HTML5视频支持检测(检查浏览器是否支持视频播放)
- 检查客户端是否有安装Flash插件 支持Firefox,IE(转)
- 检测用户浏览器是否支持cookie
- 判断是否为移动浏览器;判断是否支持滑动事件;通过手势来改变图片大小;使用手机GPS定位用户所在的城市;利用浏览器的cookie保存用户名;
- 检查浏览器是否支持styleSheets对象
- 检测客户端浏览器是否支持JavaScript和Cookies
- 验证浏览器是否支持JavaScript和Cookie