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.