|
javascript не удалят куки из Мозила
При загрузке сайта выезжает div с рекламой, при закрытии блока javascript удаляет куки. Блок
будет всплывать один раз при открытии страницы, затем для его появления потребуется перезапуск браузера. Корректно работает в Opera, Google Chrome, IE. В Мозила тоже все срабатывает, но если в настройках этого браузера (Инструметы/Настройки/Основные) применить: "При запуске Firefox: Показать окна и вкладки, открытые в прошлый раз", то в открытой вкладке с рекламным блоком не удаляются куки и соответственно этот блок не показывается. Пожалуйста, помогите решить проблему. Убедительная просьба, "не тыкать меня носом" в учебники HTML, Javascript и тд. - просто помогите. javascript
var ie=document.all
var dom=document.getElementById
var ns4=document.layers
var calunits=document.layers? "" : "px"
var bouncelimit=32 //(must be divisible by 8)
var direction="up"
function initbox(){
if (!dom&&!ie&&!ns4)
return
crossobj=(dom)?document.getElementById("dropin").style : ie? document.all.dropin :
document.dropin
scroll_top=(ie)? truebody().scrollTop : window.pageYOffset
crossobj.top=scroll_top-250+calunits
crossobj.visibility=(dom||ie)? "visible" : "show"
dropstart=setInterval("dropin()",25)
}
function dropin(){
scroll_top=(ie)? truebody().scrollTop : window.pageYOffset
if (parseInt(crossobj.top)<100+scroll_top)
crossobj.top=parseInt(crossobj.top)+40+calunits
else{
clearInterval(dropstart)
bouncestart=setInterval("bouncein()",50)
}
}
function bouncein(){
crossobj.top=parseInt(crossobj.top)-bouncelimit+calunits
if (bouncelimit<0)
bouncelimit+=8
bouncelimit=bouncelimit*-1
if (bouncelimit==0){
clearInterval(bouncestart)
}
}
function dismissbox(){
if (window.bouncestart) clearInterval(bouncestart)
crossobj.visibility="hidden"
}
function truebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement :
document.body
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
function dropornot(){
if (get_cookie("droppedin")==""){
window.onload=initbox
document.cookie="droppedin=yes"
}
}
dropornot()
DIV <div id="dropin" style="position:fixed;visibility:hidden;left:40%;top:500px;width:430px;height:430px;background-co lor:#EBEBEB"> <div align="right"><a href="action.php" onClick="dismissbox();return false"> <img src="banner/img/close.png" border=0 vspace=0 hspace=0 align="right" width="15" height="15" alt="закрыть"/> </a></div> <p><center><font style="font-size:19px; color:#FF0000;">Здесь текст</font><br><br><a href="action.php"><img src="banner/img/glass_banner.png" border="0"></a><br><br> <a href="action.php"><b>Подробнее>>></b></a> </center></p> </div> Здесь тестируемая страница: http://glass-pgc.ru/1.php |
|
Для Firefox можно сделать так: повесить обработчик на событие window.onunload и в нём удалить куку.
|
Нужно чтобы cookie удалялись сразу после закрытия div или перезагрузки/переходе страницы. Дата истечения, когда удалить cookies не подходит.
|
sashgera,
я дал Вам ссылку на рабочую функцию куков с пояснениями |
oneguy,
window.onunload кажется, срабатывает при переходе на другую страницу, мне это не подходит. Нужно чтобы cookie удалялась сразу после закрытия div. Так все-таки, может кто ответит - почему в моем случае Мозила не удаляет куки? |
Deff,
Перешел по Вашей ссылки и все внимательно прочитал. Я новичок, слабо разбираюсь в javascript. Я выложил Java-скрипт, может быть, Вы укажете, где именно ошибка? Во всех браузерах срабатывает, кроме Мозилы. |
Цитата:
|
Просто ставить кук на время (*тогда траблов не возникает,
Хотя можно ставить два кука на текущую сессию и на длинное время - тестируем наличия кука по одновременному наличию кука сессии и наличию кука по времени а стираем лишь кук по длинному времени |
sashgera, я вас не совсем понял. Вы пишете:
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 19:00. |
|