2

ユーザーに Facebook や Twitter にアクセスするか、[次回から表示しない] をクリックするよう促すポップアップ ダイアログ ボックスを作成しました。

あまり煩わしくならないので、これを短期間だけ実装していますが、ページを更新するたびにポップアップするのは望ましくありません。

JavaScript で Cookie を確認しましたが、コードで動作させることができないようです。

私のJSコードは次のようになります:

    function popUp(div){
document.getElementById(div).style.display='block';
return false;
}
function hide(div){
document.getElementById(div).style.display='none';
return false;
}

私のHTMLは次のようになります。

<body onLoad="return popUp('pop')">

    <div id="pop" class="disableBackground">
        <div id="popup">
        <h1 title="Social">You can also find us here</h1>
        <div class="arrow-down"></div>
        <br />
        <a class="btn-connect-option facebook badge-facebook-connect" href="http://facebook.com" target="_blank">Facebook</a>
        <a class="btn-connect-option twitter" href="http://twitter.com/" target="_blank">Twitter</a>
        <div class="clear"></div>
        <p onClick="return hide('pop')" style="cursor: pointer">Don't show me this again</p>
        </div>
        </div>

私はあなたが私のニーズをコード化することを期待していません.これを達成する方法についてのガイダンスを本当に感謝しています.

どうもありがとう!

4

2 に答える 2

-1

これら 2 つの関数を使用すると、新しい Cookie を設定し、設定された Cookie の値を取得できます (または、Cookie が設定されているかどうかを確認できます)。div を表示する前に、目的の Cookie を hide() 関数で設定し、pop 関数で確認します。これらの関数とその説明は、http ://www.w3schools.com/js/js_cookies.asp にあります。

function setCookie(c_name,value,exdays)
{
 var exdate=new Date();
 exdate.setDate(exdate.getDate() + exdays);
 var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
 document.cookie=c_name + "=" + c_value;
}

function getCookie(c_name)
{
 var c_value = document.cookie;
 var c_start = c_value.indexOf(" " + c_name + "=");
 if (c_start == -1)
 {
   c_start = c_value.indexOf(c_name + "=");
 }
 if (c_start == -1)
 {
  c_value = null;
 }
 else
 {
   c_start = c_value.indexOf("=", c_start) + 1;
   var c_end = c_value.indexOf(";", c_start);
   if (c_end == -1)
 {
   c_end = c_value.length;
 }
   c_value = unescape(c_value.substring(c_start,c_end));
 }
 return c_value;
}
于 2013-10-07T00:30:30.403 に答える