2013-11-29 3 views
0

Я пытаюсь создать всплывающее окно с уведомлением о политике cookie, и оно работает именно так, как я хочу, и создает cookie. Однако, поскольку я новичок в javascript (плюс кодирование любого типа), я не знаю, как иметь другой скрипт, который ищет cookie 'STLCSD', и если он существует, запустите функцию 'hideDiv'.Javascript для автоматического выполнения, если существует файл cookie

Я хотел бы избежать использования чего-либо иного, кроме HTML, CSS и JS, просто потому, что платформа, используемая этим устройством, не поддерживает ничего другого.

Любая помощь была бы чрезвычайно оценена. Просто попросите дальнейших подробностей

<script language=javascript type='text/javascript'> 
function hideDiv() { 
if (document.getElementById) { // DOM3 = IE5, NS6 
document.getElementById('hideShow').style.height= '0px'; 
document.getElementById('hideShow').style.fontSize= '0px'; 
document.getElementById('hideShow').style.color= '#cddfea'; 
document.getElementById('hideShow').style.top= '-10px'; 
document.getElementById('hideShow').style.backgroundColor= '#cddfea'; 
document.getElementById('topbar').style.height= '1px'; 


} 
else { 
if (document.layers) { // Netscape 4 
document.hideShow.height= '0px'; 
document.hideShow.fontSize= '0px'; 
document.getElementById('hideShow').style.color= '#cddfea'; 
document.getElementById('hideShow').style.top= '-10px'; 
document.getElementById('hideShow').style.backgroundColor= '#cddfea'; 
document.getElementById('topbar').style.height= '1px'; 


} 
else { // IE 4 
document.all.hideShow.style.height= '0px'; 
document.all.hideShow.style.fontSize= '0px'; 
document.getElementById('hideShow').style.top= '-10px'; 
document.getElementById('hideShow').style.color= '#cddfea'; 
document.getElementById('hideShow').style.backgroundColor= '#cddfea'; 
document.getElementById('topbar').style.height= '1px'; 


} 
} 
} 

function cookiepolicy(){ 
    days=50; // number of days to keep the cookie 
    myDate = new Date(); 
    myDate.setTime(myDate.getTime()+(days*24*60*60*1000)); 
    document.cookie = 'cookieName=STLCSD; expires=' + myDate.toGMTString(); 
} 


</script> 

<style> 
#hideShow{ 
color:white; 
font-family:Gill Sans MT; 
text-align:center; 
overflow:hidden; 
font-size:20px; 
height:35px; 
width:100%; 
transition:.3s; 
background-color:#0e589e; 
margin:0px; 
padding:3px; 
top:0px; 
position:absolute; 
} 

#hideshow a:link{ 
color:#0e589e; 
font-style:bold; 
background-color:#cddfea; 
padding-left:9px; 
padding-right:9px; 
padding-top:0px; 
padding-bottom:0px; 
text-decoration:none; 
margin:0px; 
right:40px; 
position:absolute; 
} 

#topbar{ 
color:white; 
font-family:Gill Sans MT; 
text-align:center; 
overflow:hidden; 
font-size:20px; 
height:35px; 
width:100%; 
transition:.3s; 
background-color:#cddfea; 
margin:0px; 
padding:0px; 
top:0px; 

} 


</style> 
<div id="topbar"> 
</div> 
<div id="hideShow" ..etc> 
<b>Cookie Policy</b> 
This site uses cookies to store information on your computer. 
<a href="javascript:hideDiv()" onclick="cookiepolicy()">Accept</a> 
</div> 
+0

Приятно, что вы заботитесь о пользователях IE4 и Netscape 4 :) –

+0

Его школьный веб-сайт, поэтому мы должны приспособиться к родителям. – RJcreatives

ответ

2

я использовал функцию как это:

function readCookie(cookieName) 
{ 
    if(document.cookie.length > 0) 
    { 
    var begin = document.cookie.indexOf(cookieName + "="); 
    if(begin != -1) { 
     begin = begin + cookieName.length + 1; 
     var end = document.cookie.indexOf(";",begin); 
     if (end == -1) end = document.cookie.length; 
     return unescape(document.cookie.substring(begin,end)); 
    } else { 
     return ""; 
    } 
    } 
    return ""; 
} 

после этого, вы можете использовать что-то вроде:

if(readCookie("STLCSD") == "true") { hideDiv(); } 

Я надеюсь, что это помогает!

+0

спасибо за ваш быстрый ответ :) к сожалению, это, похоже, не работает для меня :( – RJcreatives

+0

есть ли у вас какая-либо ошибка на js console в вашем браузере? – rikpg

+0

@RJcreatives, попытайтесь свалить 'readCookie (« STLCSD »)' result. Каков его вывод? –

 Смежные вопросы

  • Нет связанных вопросов^_^