Я пытаюсь удалить все куки, которые использует мой сайт, но из чтения я не могу этого сделать, поэтому я считаю, что мой единственный вариант - это изменить дату окончания срока действия, чтобы она была в прошлом, и позволить браузеру сделать работу. У меня есть один файл cookie, который называется «CookieDisplay». На странице загрузки события в asp.net у меня есть:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
For Each key As String In Request.Cookies.AllKeys
Dim cookie As New HttpCookie(key)
If (Not Request.Cookies(cookie.Name.ToString) Is Nothing) Then
cookie.Expires = DateTime.Now.AddDays(-1D)
Response.Cookies.Add(cookie)
End If
Next
End Sub
Этот код находит cookie для CookieDisplay и изменяет дату истечения срока действия. Однако на стороне клиента у меня есть JavaScript, который запускается после события загрузки страницы со следующим.
function getCookie(c_name) {
var i, x, y, ARRcookies = document.cookie.split(";");
for (i = 0; i < ARRcookies.length; i++) {
x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
x = x.replace(/^\s+|\s+$/g, "");
if (x == c_name) {
return unescape(y);
}
}
}
function checkCookie() {
var SavedData = getCookie("CookieDisplay");
if (SavedData != null && SavedData == "true") {
closeme();
}
}
Проблема в том, что cookie возвращает значение, поэтому дата окончания срока действия не изменилась, поэтому срок действия файла cookie не истекает, и поэтому он все еще отображается. Может быть потому, что этот cookie создается в javascript, а asp.net не имеет к нему доступа? Нужно ли удалять файлы cookie из javascript и asp.net в зависимости от того, где был создан файл cookie?
Спасибо