Я пытаюсь отобразить div в первый раз, когда пользователь посещает мой сайт. Я уверен, что я делаю это, используя куки-файлы, с которыми у меня ограниченный опыт, и я с трудом понимаю. Большинство обучающих программ, которые я нашел в Интернете, говорят только о том, что у них есть файлы cookie, чтобы пользователь вводил что-то вроде имени, и помните его позже, что совсем не то, что я хочу. Я просто хочу, чтобы файл 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;
}
С моей точки зрения, куки-файл должен вызывать функцию popbox3(), только если пользователь не посетил, что бы переключить отображение скрытого div. Но на данный момент ничего не работает. Любые разъяснения или помощь здесь будут высоко оценены. Заранее спасибо.
Итак, что произойдет, если я посетил и удалю свои куки? –
Альтернативой было бы использовать [store.js] (https://github.com/marcuswestin/store.js/) для отслеживания этого. Более чистый api/less накладные расходы, чем файлы cookie. –
@RUJordan Я должен был уточнить, что я не против этого. Если кто-то очистит файлы cookie, у меня нет проблем с отображением div снова. – user1925805