2011-12-16 12 views

答えて

4

これはGreasemonkeyを使用しないでください。面倒で、ページが読み込まれてから長い間Co​​okieが失われる可能性があり、実際にGoogleをブラウズしている間のみGoogle Cookieを削除できます。

さらに、Googleの現在および将来のすべてのドメイン(google.com、accounts.google.com、mail.google.com、google-analytics.comなど)を取得するには、スクリプトの// @includeステートメントを設定する必要があります。 Googleが"Secure cookies"のサービスを提供している場合でも、これらのサービスには触れられません。

クッキーをスマートに削除するためのツールを使用することをおすすめします。私はSelective Cookie Deleteをお勧めします。
また、Googleやその他のサイトでは、Cookieよりはるかに悪いものを追跡します。 CCleanerを少なくとも週に1回は実行することをお勧めします。


しかし、あなたはまだグリースモンキーでこれを行うにしたい場合は、ここでスクリプトが実行されているドメインのために多くのクッキーを削除するコードは次のとおりです。

WARNING: JavaScriptとグリースモンキーはできませんページ上のすべてのクッキーを見ることも、「安全」(サーバーのみ)のクッキーを削除することもできません。

eraseCookie()がある
//--- Loop through cookies and delete them. 
var cookieList = document.cookie.split (/;\s*/); 

for (var J = cookieList.length - 1; J >= 0; --J) { 
    var cookieName = cookieList[J].replace (/\s*(\w+)=.+$/, "$1"); 

    eraseCookie (cookieName); 
} 


(このeraseCookieは、すべての可能なパスと最も可能性の高いサブドメインを試みることによって、より多くのクッキーを取得することに注意してください。)

function eraseCookie (cookieName) { 
    //--- ONE-TIME INITS: 
    //--- Set possible domains. Omits some rare edge cases.?. 
    var domain  = document.domain; 
    var domain2  = document.domain.replace (/^www\./, ""); 
    var domain3  = document.domain.replace (/^(\w+\.)+?(\w+\.\w+)$/, "$2");; 

    //--- Get possible paths for the current page: 
    var pathNodes = location.pathname.split ("/").map (function (pathWord) { 
     return '/' + pathWord; 
    }); 
    var cookPaths = [""].concat (pathNodes.map (function (pathNode) { 
     if (this.pathStr) { 
      this.pathStr += pathNode; 
     } 
     else { 
      this.pathStr = "; path="; 
      return (this.pathStr + pathNode); 
     } 
     return (this.pathStr); 
    })); 

    (eraseCookie = function (cookieName) { 
     //--- For each path, attempt to delete the cookie. 
     cookPaths.forEach (function (pathStr) { 
      //--- To delete a cookie, set its expiration date to a past value. 
      var diagStr  = cookieName + "=" + pathStr + "; expires=Thu, 01-Jan-1970 00:00:01 GMT;"; 
      document.cookie = diagStr; 

      document.cookie = cookieName + "=" + pathStr + "; domain=" + domain + "; expires=Thu, 01-Jan-1970 00:00:01 GMT;"; 
      document.cookie = cookieName + "=" + pathStr + "; domain=" + domain2 + "; expires=Thu, 01-Jan-1970 00:00:01 GMT;"; 
      document.cookie = cookieName + "=" + pathStr + "; domain=" + domain3 + "; expires=Thu, 01-Jan-1970 00:00:01 GMT;"; 
     }); 
    }) (cookieName); 
} 
関連する問題