ユーザーが初めてサイトにアクセスしたときに div を表示しようとしています。私はクッキーを使用してこれを行っていると確信していますが、これは経験が限られており、理解するのに苦労しています. 私がオンラインで見つけたほとんどのチュートリアルは、クッキーがユーザーに名前のようなものを入力するよう促し、後でそれを思い出すようにすることについてのみ話していますが、これはまったく望んでいません。ユーザーが以前に自分のサイトにアクセスしたことがあるかどうかを Cookie に確認させ、そうでない場合は、通常は非表示の div を表示させたいだけです。
ここに私が試したことがあり、うまくいかなかったことがあります。
HTML:
<head>
<script type="text/javascript" src="annoy.js"></script>
<script type="text/javascript" src="scripts.js"></script>
</head>
...
<body>
<div id="overbox3">
<div id="infobox3">
<p>This is the cookie box</p>
<br />
<p>it should only show once </p>
<br/><br/>
</div><!-- end infobox3 -->
</div> <!-- end overbox3 -->
</body>
CSS (問題なく動作するためあまり関係ありません):
#overbox3 {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background: rgba(64, 64, 64, 0.5);
z-index: 999999;
display: none;
}
#infobox3 {
margin: auto;
position: absolute;
left: 35%;
top: 20%;
height: 300px;
width: 400px;
background-color: white;
border: 1px solid red;
}
scripts.js の関連コンテンツ:
function popbox3() {
$('#overbox3').toggle();
}
そして、私が想定しているのは、問題である annoy.js の内容です。
function GetCookie(name) {
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen) {
var j=i+alen;
if (document.cookie.substring(i,j)==arg)
return "here";
i=document.cookie.indexOf(" ",i)+1;
if (i==0)
break;
}
return null;
}
var visit=GetCookie("COOKIE1");
if (visit==null){
var expire=new Date();
popbox3();
expire=new Date(expire.getTime()+7776000000);
document.cookie="COOKIE1=here; expires="+expire;
}
私の理解では、Cookie は、ユーザーがアクセスしていない場合にのみ関数 popbox3() を呼び出しているはずです。これにより、非表示の div の表示が切り替わります。しかし、今のところ、何も機能していません。ここでの説明やヘルプは大歓迎です。前もって感謝します。