0

[?]サードパーティのCookie の検出方法は、ランタイムでブロックされていました。ページをリフレッシュせずに。
JavaScript; localStorage Cookie;サードパーティのCookieとサイトデータをブロックする。サードパーティのCookieを検出する方法は、ページを更新せずにブロックされていました。 [?]

サンプルコード: "アクセス" をキャッチする試みを使用してに失敗しました(ブロック);

if (typeof(Storage) !== "undefined") { 
    try{ 
    localStorage.setItem("document","test"); 
    localStorage.removeItem("document"); 
    } catch(err) { 
    alert("Cookies had failed to be set; Blocked!!"); 
    } 
} 

[❗]今すでにロードページ場合は、ブラウザの設定からそれを阻止することは、それがブラウザによってブロックされていた示すイベントを発生しないことです。 ページがリフレッシュされていない場合。
- 動的に生成されたドキュメントではあまりうまくいかないようです。その上で文書を継続して閲覧することによって失われた値。
[^]はイベントを発生させることを意味し、リフレッシュによって失われるまでクッキーを設定し続けます。それまではアラートは表示されません。

実行コードスニペットサンプル::

function samplestorage() { 
 
    if (typeof(Storage) !== "undefined") { 
 
    try { 
 
     localStorage.setItem("document", "test"); 
 
     localStorage.removeItem("document"); 
 
    } catch (err) { 
 
     alert("Cookies had failed to be set; Blocked!!"); 
 
    } 
 
    } 
 
}
.testbutton { 
 
    background-color: blue; 
 
    color: yellow; 
 
    text-align: center; 
 
    border: 1px solid #000000; 
 
    border-radius: 8px; 
 
    min-width: 100px; 
 
    max-width: 100px; 
 
    cursor: pointer; 
 
} 
 

 
.testbutton:hover { 
 
    background-color: darkgreen; 
 
    color: yellow; 
 
} 
 

 
.small { 
 
    font-family: "Verdana"; 
 
    font-size: x-small; 
 
}
<div class="small"> 
 
    go at Privacy &amp; Security, under browser settings, "Chrome,Opera"<br> then check\uncked [ ] Block third-party cookies and site data; 
 
</div> 
 

 
<br> 
 

 
<div class="testbutton" onclick="samplestorage();"> 
 
    Test Button 
 
</div> 
 

 
<br> page has to be refreshed if cookie settings are changed at browser settings;

+1

ここの答えはhttp:// stackoverflowに役立つかもしれません。com/questions/3550790/check-if-third-party-cookies-are-enabled – alfredo

+0

はインターネット上の他のものをブラウジングしている不思議な人物を持っていました。興味のあるページを使い続けることで、設定が変更されたことを示し、クッキーデータが失われることを示します。少なくともページをリフレッシュせずに動的に動作するためです。 **作成されているWindowsソフトウェアプログラムではないことを覚えておいてください** – H3sDW11e

+0

私はページリフレッシュを必要としないソリューションの下に投稿しました。 – alfredo

答えて

1

チェックlocalStoragenull

if (localStorage === null) { 
    alert("localStorage is disabled"); 
} 
+0

いいえ、発行される状況は同じです。 ** localStorage === ** nullは何もしません。 – H3sDW11e

+0

'Storage'はグローバル関数です。 'StorageStatus'がまだ定義されている間、' localStorage'は無効にできます。 'localStorage'が無効になっているかどうかチェックしようとしていますか? – guest271314

+0

いいえ...ブラウザがどのように設計されていたのかを確認する必要があります。実行時に変更されることはありません。少なくともOperaとChromeブラウザでは、ここでの重要性は、ページが更新されずにブロックされていたことを知ることです。これはおそらくウェブページにあるすてきなグラフィックのほかに、構築するロジックは非常に低いです。はい、ありがとう。 – H3sDW11e

0

であれば、ここで溶液はで1に基づいています

これには3つのファイルが含まれています。クライアントファイルは、ThirdPartyCookies.htmlと、別のサーバー(サードパーティ製のサーバー)にある2つのファイルを呼び出します。これらの2つのファイルをThirdPartyCookies2.htmlThirdPartyCookies3.htmlとしましょう。これはすべてのJavasScriptソリューションです。サードパーティのサーバーは静的なCDNにすることができます。

ThirdPartyCookies.html(クライアント側):このファイルはクライアント側のファイルです。サードパーティのCookieをテストするためにページを更新する必要はありません。 コードのファイルの場所を示す独自のサードパーティ製サーバーまたはCDNの場所を使用してコードを変更します。

<!DOCTYPE html> 
<html> 
<head> 
<style> 
.testbutton { 
    background-color: blue; 
    color: yellow; 
    text-align: center; 
    border: 1px solid #000000; 
    border-radius: 8px; 
    min-width: 100px; 
    max-width: 100px; 
    cursor: pointer; 
} 

.testbutton:hover { 
    background-color: darkgreen; 
    color: yellow; 
} 

.small { 
    font-family: "Verdana"; 
    font-size: x-small; 
} 
</style> 
<script> 
window.onload = function(){ 
    var receiveMessage = function (evt) { 
     if (evt.data === 'MM:3PCunsupported') { 
     alert("Cookies had failed to be set; Blocked!!"); 
     } else if (evt.data === 'MM:3PCsupported') { 
     // Third party cookies are supported 
     } 
    }; 
    window.addEventListener("message", receiveMessage, false); 
}; 
function samplestorage(){ 
    var iframe = document.getElementById('iframeCookies'); 
    iframe.src = iframe.src; 
} 
</script> 
</head> 
<body> 
    <div class="small"> 
     go at Privacy &amp; Security, under browser settings, "Chrome,Opera"<br> then check\uncked [ ] Block third-party cookies and site data; 
    </div> 

    <br> 

    <div class="testbutton" onclick="samplestorage();"> 
     Test Button 
    </div> 

    <br> page has to be refreshed if cookie settings are changed at browser settings; 


    <iframe id="iframeCookies" src="LOCATION OF THE FILE/ThirdPartyCookies2.html" style="display:none" /> 
</body> 
</html> 
(お使いのサードパーティのサーバーで)

ThirdPartyCookies2.html:(あなたのサードパーティのサーバーで)

<!DOCTYPE html> 
<html> 
<head></head> 
<body> 
<script> 
    document.cookie="thirdparty=yes"; 
    document.location="ThirdPartyCookies3.html"; 
</script> 
</body> 
</html> 

ThirdPartyCookies3.html:

<!DOCTYPE html> 
<html> 
<head></head> 
<body> 
<script> 
if (window.parent) { 
    if (/thirdparty=yes/.test(document.cookie)) { 
     window.parent.postMessage('MM:3PCsupported', '*'); 
    } else { 
     window.parent.postMessage('MM:3PCunsupported', '*'); 
    } 
} 
</script> 
</body> 
</html> 

したい場合他のソリューションがこの質問をチェックアウトを参照してくださいCheck if third-party cookies are enabled

関連する問題