Название объясняет все это.На самом деле я нигде не смог найти этот конкретный пример кода в Интернете, который заставил бы его работать так же просто, как мой опубликованный скрипт.
Можете ли вы помочь мне понять, почему мой скрипт отображает div, дважды, иногда 3 раза, прежде чем, наконец, не отобразится после того, как cookie был установлен?
Я проверил после загрузки сайта один раз - cookie-файл устанавливается, но при нажатии на другую страницу все еще отображается окно отображения (div).После нескольких щелчков «Я принимаю» он, наконец, больше не отображается.
Я бы хотел выяснить, почему для того, чтобы оставаться закрытым, требуется более 1 клика.Мой код крайне неэффективен?Разве невозможно сохранить такую функцию такой простой, как мой код ниже?
Вот мой код
Загрузка тела:
<body onload="cookiefunction()"
Javascript, который проверяет наличие cookieсуществует, и если не отображать div, и если нет, не отображать div:
function cookiefunction() {
if (document.cookie.indexOf("acceptterms") >= 0) {
document.getElementById("notice").style.display = "none";
} else {
document.getElementById("notice").style.display = "block";
}
}
Код, который устанавливает cookie при нажатии на ссылку I Accept
function closediv() {
document.getElementById("notice").style.display ="none";
document.cookie = "acceptterms=yes; expires=Thu, 18 Dec 2023 12:00:00 UTC";
}
Divдолжно отображаться: нет, если нажата кнопка «Принять»
<div id="notice" style="display:none;">
<a href="#" id="close" onclick="closediv()">I Accept Terms</a>
</div>
Может ли быть какой-то код в .htaccess, связанный с кэшированием, который вызывает эту проблему?