Cookie设置检测无法在IE 11上运行

时间:2014-02-10 19:15:47

标签: asp.net cookies

我使用以下方法检查Cookie是否已启用。它在FireFox和谷歌浏览器上工作正常,但在IE 11上失败。

该方法包括在一个页面中创建一个cookie,然后重定向到另一个读取cookie的页面。如果cookie可以是红色,那么我们假设已启用cookie。

在IE 11中,我将互联网和内部网区域的隐私滑块设置为其最高值(阻止所有Cookie),但无论如何都始终启用Cookie。

这是代码(从msdn中提取):

默认页面

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.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("CheckCookies.aspx?redirect=" & Server.UrlEncode(Request.Url.ToString))
        Else
            lblCookie.Text = "Accept cookies = " & Server.UrlEncode(Request.QueryString("AcceptsCookies"))
        End If
    End If
End Sub

Cookie检查页面

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim redirect As String = Request.QueryString("redirect")
    Dim acceptsCookies As String
    If Request.Cookies("TestCookie") Is Nothing Then
        acceptsCookies = "no"
    Else
        acceptsCookies = "yes"
        Response.Cookies("TestCookie").Expires = DateTime.Now.AddDays(-1)
    End If
    Response.Redirect(redirect & "?AcceptsCookies=" & acceptsCookies, True)
End Sub

有谁能弄清楚为什么这种方法不适用于IE 11?

有没有人有100%可靠的方法来检查cookie是否被禁用?

IE-11 cookie阻止程序可能无法正常工作吗?

谢谢!

0 个答案:

没有答案