一种确定浏览器是否接受 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 )。如果没有找到查询字符串变量,则表示测试还没有完成,代码就写出一个名为“TestCookie”的 Cookie。写出 Cookie 之后,示例调用 Response.Redirect 来切换到测试页面 (TestForCookies.aspx)。附加到测试页面的 URL 的是名为 redirect 的查询字符串变量,该变量中包含了当前页面的 URL,这样就能在执行测试后把重定向到该页面。

测试页面可以完全由代码组成,不需要包含控件。以下就是使用的代码:

private   void  Page_Load( object  sender, System.EventArgs e)
   ... {
   ReadCookie();
  }
   private   void  ReadCookie()
   ... {
   String redirect   =  Request.QueryString[ " redirect " ];
   String acceptsCookies ;
    //  是否接受 Cookie?
    if (Request.Cookies[ " TestCookie " ]  == null )
     //  没有 Cookie,因此不需要接受
    acceptsCookies  =   " 0 " ;
    else
    ... {
    acceptsCookies  =   " 1 " ;
     // 删除测试 Cookie
    Response.Cookies[ " TestCookie " ].Expires  =  DateTime.Now.AddDays( - 1 );
   }
   Response.Redirect(redirect  +   " ?AcceptsCookies= "   + acceptsCookies,  true );
}

检测浏览器是否接受Cookies(Downmoon)?相关推荐

  1. ASP.NET(c#)如何判断浏览器是否支持cookies

    实例代码: 下面是写cookie    HttpCookie cookie = new HttpCookie("Info");//定义cookie对象以及名为Info的项    D ...

  2. 用于检测浏览器语言偏好的JavaScript

    本文翻译自:JavaScript for detecting browser language preference [duplicate] This question already has an ...

  3. Cookie编程基础:检查浏览器是否接受Cookie

    Cookie编程基础:检查浏览器是否接受Cookie 提要:一种确定浏览器是否接受 Cookie 的方法是先编写一个 Cookie,然后再尝试读取这个 Cookie.如果不能读取这个Cookie,则可 ...

  4. 使用modernizr.js检测浏览器对html5以及css3的支持情况

    使用modernizr.js检测浏览器对html5和css3的支持情况 详情请看主页:modernizr主页 1. modernizr 是什么? modernize 是一个js库----一个用于检测当 ...

  5. modernizr 支持html5,使用modernizr.js检测浏览器对html5以及css3的支持情况

    使用modernizr.js检测浏览器对html5和css3的支持情况 1.modernizr 是什么? modernize 是一个js库----一个用于检测当前浏览器对html5&css3 ...

  6. JS window对象 Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。...

    Navigator对象 Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本. 对象属性: 查看浏览器的名称和版本,代码如下: <script type=" ...

  7. javascript关于检测浏览器和操作系统的问题

    1.方法学: 最好是检测浏览器的最小版本,这样才不会当版本升级之后不断添加新的内容进去. 理想的方式: if(isMinIE5){ //code } 直接检查准确的版本的缺点: if(isMinIE5 ...

  8. java缩放浏览器_javascript检测浏览器的缩放状态实现代码

    摘要:这篇JavaScript栏目下的"javascript检测浏览器的缩放状态实现代码",介绍的技术点是"JavaScript.检测浏览器.缩放状态.实现代码.浏览器. ...

  9. jquery检测浏览器类型

    使用jquery如下代码检测浏览器版本时:出问题,在检测IE浏览器,如果版本是IE11时,会出现 $.browser.msie的返回值是false,$.browser.mozilla的返回值是true ...

最新文章

  1. Unity Pro builder创建模块化仓库建筑学习教程
  2. 恒位油杯故障原因_油烟机经常出现小故障,小固教你维修方法,学会之后省老钱了!...
  3. python2.7.3怎么安装_python2.7.3的安装
  4. vue暴露的全局方法_Vue中实现全局方法
  5. MATLAB从入门到精通-如何在MATLAB中实现各种特殊上标?
  6. 微服务架构下的组件需求
  7. 子数整数(luogu 1151)
  8. 业务太复杂?教你如何降低软件的复杂性
  9. 立足国产自主可控技术 达梦DM8数据库新品化繁为简
  10. 对象复制的7种方法,还是Spring的最好用!
  11. ReferenceError: XXX is not defined 错误及解决办法
  12. .net开发工程师是做什么的_.NET能开发出什么样的APP?盘点那些通过Smobiler开发的移动应用...
  13. [转]Microsoft SQL Server Management Studio Express 使用SQL验证登录sa
  14. 解决linux下 firefox 浏览器 视频无法播放问题
  15. 「 神器 」强大的系统清理工具
  16. Orange Business Services 携手 Riverbed 将 SD-WAN 引入混合网络
  17. 黑白方格画C++解答
  18. 百度输入法输入汉字却显示英文
  19. 适用的验厂考勤工资AB账系统软件这样选择
  20. 魔兽争霸的历史(ZT)第三章

热门文章

  1. Using React, Typescript, and Webpack with Visual Studio 2015
  2. 第二阶段--团队冲刺--第四天
  3. absolute导致的高度塌陷问题——解决方法
  4. Android实现word模板套打功能
  5. 11个程序员必备简捷开发辅助工具
  6. CodeForces 1A Theatre Square(水题)
  7. RabbitMQ入门到掌握
  8. 工作中千万不要去做的事:9个需要马上改掉的坏习惯
  9. vivoxfold和华为matex2哪个值得买 两者配置对比
  10. JQuery获取父,子,兄弟节点