2010-12-08 69 views
14

什麼是javascript web瀏覽器上刪除cookie。將Cookie過期日期設置爲過去日期的常用方法在Android Web瀏覽器中不起作用。Javascript刪除android web瀏覽器上的cookie

例如,以下代碼適用於桌面網頁瀏覽器和移動Safari瀏覽器,但不適用於Android網頁瀏覽器。

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

這真是不可思議。我期待它能在Android瀏覽器上運行。 – Tarik 2010-12-08 20:34:13

+1

是的,這真的很奇怪。我不得不最終在服務器端過期cookie,並將過期的cookie添加回響應中。 – govin 2010-12-09 02:36:34

回答

-1

雖然這是一個迂迴的方式,但是要創建並實例化一個將從網頁Javascript調用的JavascriptInterface。設置JavaScript接口的網頁視圖使用

webSettings.setJavascriptEnabled(true); 

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

在您的網頁,那麼你調用

javascript:INTERFACE_NAME.yourSessionClearingMethod(); 

它應該包含

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

來清除已說不需要的coo紀伊(一個或多個)。

1

我已經看過瀏覽器(實際上是在電視機裏,但不確定它到底是什麼),它不接受'expires ='字段(絕對日期),但可以很好地與'max-age = '(從現在開始的秒數)。因此,也許嘗試通過刪除Cookie:

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

您是否嘗試過在cookie設置行中包含域?我記得,在某些情況下,你必須非常明確的與域和路徑匹配(或者是兼容),以刪除Cookie當前文檔的位置:

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

,對我

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'; 
相關問題