【问题标题】:Javascript to delete cookie on android web browserJavascript 删除 android 网络浏览器上的 cookie
【发布时间】:2010-12-08 20:14:02
【问题描述】:

在 android 网络浏览器上删除 cookie 的 javascript 是什么。将 cookie 的过期日期设置为过去日期的常用方法在 Android 网络浏览器中不起作用。

例如以下代码适用于桌面网络浏览器和移动 Safari,但不适用于 Android 网络浏览器。

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

【问题讨论】:

  • 这真的很奇怪。我期待它也适用于 Android 浏览器。
  • 是的,这真的很奇怪。我最终不得不让服务器端的 cookie 过期,并将过期的 cookie 添加回响应中。
  • @AlwaysSmile 您说的是哪些浏览器?它适用于 chrome 或 firefox for android 吗?
  • 可能是this可以帮到你。

标签: javascript android cookies


【解决方案1】:

我见过不接受“expires=”字段(带有绝对日期)但与“max-age=”配合使用的浏览器(实际上是在电视机中,但不确定具体是哪一个) (从现在开始的秒数)。所以也许可以尝试通过以下方式删除 cookie:

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

【讨论】:

  • 我使用的是旧的 Android 系统 (5.0.2),在我用它的代码替换后它就可以工作了,谢谢!
【解决方案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 接口设置为您的 Webview
      webSettings.setJavascriptEnabled(true);
      

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

      然后在您的网页上调用

      javascript:INTERFACE_NAME.yourSessionClearingMethod();
      

      应该包含

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

      清除上述不需要的 cookie。

      【讨论】:

      • 这不是 iOS 问题,而是浏览器内 Safari、JavaScript 问题。与网页浏览无关。
      • FlorianMargaine:将 iOS 替换为 Android,将 Safari 替换为 Chrome(或 AOSP 浏览器)
      猜你喜欢
      • 2012-03-26
      • 1970-01-01
      • 2010-11-19
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多