Javascript для удаления cookie на веб-обозревателе Android

Что такое javascript для удаления cookie в браузере Android. Обычный способ установки даты истечения срока действия файла cookie на дату в прошлом не работает в веб-браузере Android.

Например, ниже код работает в настольных веб-браузерах и мобильном сафари, но не работает в веб-браузере Android.

document.cookie = 'cookiename=cookievalue; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/';

Ответы

Ответ 1

Я видел браузеры (на самом деле в телевизорах, но не уверен, что это было точно), которые не принимали поле "expires =" (с абсолютной датой), но хорошо работали с "max-age = (время в реальном времени через несколько секунд). Поэтому, возможно, попробуйте удалить файл cookie:

document.cookie = 'cookiename=; max-age=0; path=/';

Ответ 2

Вы также пытались включить домен в строку настроек cookie? Я помню, что в некоторых случаях вам нужно было быть очень явным с совпадением домена и пути (или совместимым с) текущего местоположения документа, чтобы удалить файл cookie:

document.cookie='cookiename=cookievalue; path=/; domain=current-domain; expires=Thu, 01 Jan 1970 00:00:01 GMT';

Ответ 3

который работает для меня

document.cookie = yourCookieName + '=' + // NO value here 
    ';expires=Thu, 01-Jan-1970 00:00:01 GMT';

если используется путь и/или домен в заданное время, добавьте em

document.cookie = yourCookieName + '=' + // NO value here
    ';path=' + yourCookiePath +
    ';domain=' + yourCookieDomain +
    ';expires=Thu, 01-Jan-1970 00:00:01 GMT';

Ответ 4

Пока это окольный способ сделать это, создайте и создайте экземпляр JavascriptInterface, который будет вызываться с веб-страницы Javascript. Установите этот Javascript-интерфейс в свой веб-просмотр с помощью

webSettings.setJavascriptEnabled(true);

и

webView.addJavascriptInterface(new JavaScriptInterfaceImplementation(), INTERFACE_NAME);

На вашей веб-странице вы затем вызываете

javascript:INTERFACE_NAME.yourSessionClearingMethod();

который должен содержать

CookieManager cookieManager = CookieManager.getInstance();        
cookieManager.removeAllCookie(); // or cookieManager.removeSessionCookie();

чтобы очистить указанный нежелательный файл cookie.