2016-04-14 9 views
0

私は、JavaScriptが有効または無効になっていることを確認しようとしています。ブラウザのCookieがどのように有効かどうかを確認するには?

詳細説明:私は、ページの本文にonloadイベントに関数を配置している

if (navigator.cookieEnabled != true) { 
       alert("Cookies are not enabled, Please enable cookies to continue logging in ProjectName"); 
      } 

以下のように私には、JavaScriptで関数を作成しました。この関数はchromeとFirefoxでうまく動作することに注意してください。

しかし、それはIE11のために働いていない、と理由はnavigator.cookieEnabledは常にクッキーが無効であるか、そう、この権利をするために他の方法を提案したり、コメントを追加してくださいをブロックした場合でもtrueを返すです。 document.cookies.lengthも使用されますが、クッキーが無効になっていてもtrueを返します。

+0

のように、ライブラリから関連するビットを使用することができ、ライブラリを使用したくない場合は、ライブラリを使用して開いている - HTTPSもしそうなら:/ /modernizr.com/はすでにこれをチェックしています(https://modernizr.com/docsのクッキーを確認してください) – potatopeelings

+1

[jQuery検出クッキーを有効にする]の可能性のある複製(http://stackoverflow.com/questions/8112634/jquery-detecting -cookies-enabled) – smnbbrv

+0

@TrilokPathakあなたがここに投稿したコードによれば、あなたはそこに与えた解決策を試していませんでした – smnbbrv

答えて

2

あなたがちょうどそう(https://github.com/Modernizr/Modernizr/blob/74655c45ad2cd05c002e4802cdd74cba70310f08/feature-detects/cookies.jsから)

function supportsCookies() { 
    try { 
     // Create cookie 
     document.cookie = 'cookietest=1'; 
     var ret = document.cookie.indexOf('cookietest=') != -1; 
     // Delete cookie 
     document.cookie = 'cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT'; 
     return ret; 
    } 
    catch (e) { 
     return false; 
    } 
} 
+0

があり、クロムはretです本当ですか? – Developer

+0

trueは、クッキーがサポートされていることを意味します。したがって、IEとChromeの場合は、IEとChromeの設定でCookieがサポートされていることになります。 – potatopeelings

+0

IEではクッキーが無効になっています。コードは私が望むものを私に返します。私はクッキーが有効かどうかのブラウザ設定をJavaScriptから探したいと思っています。その点に注意してください。 – Developer

関連する問題