0

クリック時に「Cookie ポリシー」バーを非表示にするかなり単純なコードがありますが、ユーザーが「閉じる」をクリックしたことを記憶するために Cookie を保存していないようです。私の機能:

function closeCookieBar() {
      document.getElementById('cookiespace').style.display = 'none';
          document.getElementById('cookiepolicy').style.display = 'none';
          var date = new Date();
          date.setTime(date.getTime()+(days*24*60*60*1000));
          var expires = "; expires="+date.toGMTString();
          document.cookie = cookiepolicy+"="+value+expires+"; path=/; domain=.mydomain.nl";

     }

バーは問題なく閉じるので、最初の 2 行のコードが実行されます。ただし、ページを更新すると、バーが再び表示されます。これは私がクッキーバーを持っているものです:

<div id="cookiepolicy" <?php if(isset($_cookie['cookiepolicy'])){ echo "style=\"display:none\""; } ?>>
<div id="cookiepolicy-wrapper">
<div id="cookiepolicy-txt">
<span id="cookiepolicy-notice">Deze website maakt gebruik van cookies om de functionaliteit en het gebruiksgemak te vergroten. Als u onze website gebruikt, gaan wij er vanuit dat u hiermee akkoord gaat. </span>
<span id="cookiepolicy-accept-cookies" onclick="closeCookieBar();">Sluit</span>

</div>
</div>
</div>

「。」を入れました 私のドメインの前で、それが私のクロスドメインの問題を解決することを望んでいますが、Cookieはメインドメイン用に保存されていません...

誰かが私のエラーを見ることを願っていますか? ありがとう!

4

3 に答える 3

0

みんなありがとう、しかしあなたの提案は両方とも私の問題を解決していないようでした。将来同様の問題を抱えている他の人にとって、このコードは私にとって完璧に機能しました(私のサブドメインでも):

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/; domain=.example.com";
}

createCookie('cookieee','stuff','22');

幸運を!

于 2013-01-21T09:50:34.193 に答える
0

変更してみてください

<?php if(isset($_cookie['cookiepolicy'])){ echo "style=\"display:none\""; } ?>

に:

<?php if(isset($_COOKIE['cookiepolicy'])){ echo "style=\"display:none\""; } ?>

Pointy コメントとして、次のように変数を変更してdocument.cookie作成することをお勧めします。value

value =  document.getElementById('your_item').value;
document.cookie = "cookiepolicy="+value+"; "+expires+"; path=/; domain=.mydomain.nl";
于 2013-01-20T23:29:48.823 に答える
0

この行はまったく正しくないようです -

document.cookie = cookiepolicy+"="+value+expires+"; path=/; domain=.mydomain.nl";
  1. それは次のようなものでなければなりません

    document.cookie = "cookiepolicy="+value+expires+"; パス=/; ドメイン=.mydomain.nl";

  2. 値変数は設定されていますか?

于 2013-01-20T23:49:34.447 に答える