2010-12-08 8 views
14

Was ist das Javascript, um ein Cookie auf Android-Webbrowser zu löschen. Die übliche Methode, ein Ablaufdatum des Cookies auf ein Datum in der Vergangenheit festzulegen, funktioniert nicht im Android-Webbrowser.Javascript zum Löschen von Cookies auf Android-Webbrowser

Für z.B. Der folgende Code funktioniert in Desktop-Webbrowsern und mobilen Safari, funktioniert aber nicht in Android-Webbrowser.

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

Das ist wirklich seltsam. Ich habe erwartet, dass es auch auf Android-Browser funktioniert. – Tarik

+1

ja es ist wirklich komisch. Ich musste am Ende den Cookie auf der Serverseite ablaufen lassen und das abgelaufene Cookie zurück zur Antwort hinzufügen. – govin

+0

@AlwaysSmile Welche Browser sprechen Sie? Funktioniert es auf Chrom oder Firefox für Android? – johntheripp3r

Antwort

-1

Während dies ein Umweg ist, erstellen und instanziieren Sie ein JavascriptInterface, das von der Webseite Javascript aufgerufen wird. Stellen Sie, dass Javascript-Schnittstelle zu Ihrem Webview mit

webSettings.setJavascriptEnabled(true); 

und

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

Auf Ihrer Webseite, die Sie dann aufrufen

javascript:INTERFACE_NAME.yourSessionClearingMethod(); 

die

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

enthalten sollte das Lösche unerwünschtes goo kie (s).

+0

Dies ist keine iOS-Frage, es ist eine Browser-Safari, JavaScript-Frage. Nichts mit Webviews zu tun. –

+0

FlorianMargaine: Ersetze iOS mit Android und Safari mit Chrome (oder AOSP Browser) – JRomero

+1

Falsche Antwort! völlig unabhängig. –

1

Ich habe gesehen, Browser (eigentlich in TV-Geräten, aber nicht sicher, was es genau war), die nicht akzeptierte die 'abläuft =' Feld (mit einem absoluten Datum), aber gut mit 'max-age = '(Live-Zeit in Sekunden ab jetzt). Versuchen Sie vielleicht, das Cookie zu löschen, indem Sie:

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

Haben Sie versucht, auch die Domäne in der Cookie-Einstellung Zeile? Ich erinnere mich, dass Sie in einigen Fällen hatten sehr explizit sein mit der Domain und den Pfad Anpassung (oder kompatibel mit) der aktuellen Dokument Ort, um ein Cookie zu löschen:

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

die

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

wenn Pfad und/oder Domäne in festgelegter Zeit, fügen Sie em

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