Что я делаю - я храню данные о возрасте в данных сеанса.Если переменная сеанса не существует, сервер добавляет div в конец тела (после нижнего колонтитула) щелчком для подтверждения или щелчком для выхода.Я использую CSS, чтобы он покрывал содержимое.
Для CSS - я использую:
display: block; width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; z-index: 9999;
Это вызывает то, что div покрывает все остальное содержимое в графическом браузере, даже если оно размещенов самом конце тела.
Для пользователей без включенной JS ссылка «Enter» указывает на веб-страницу, которая устанавливает переменную сеанса и возвращает пользователя на запрошенную страницу.Это приводит к тому, что они загружают браузер двумя страницами, чтобы получить желаемый контент, что не является идеальным, но это единственный способ сделать это для браузеров, не поддерживающих JS.
Для браузеров, поддерживающих JS,Небольшой JavaScript-код присоединяется к странице, которая изменит ссылку «Ввод», ссылку href на # и добавит очень простую функцию к событию щелчка, так что нажатие «Enter» вызывает использование XMLHttpRequest, чтобы сообщить серверу, что человек нажал «Ввод».Затем сервер обновляет сеанс и отвечает на запрос XMLHttpRequest с ответом 200 OK, вызывая JavaScript, чтобы скрыть div проверки возраста, охватывающий содержимое.Таким образом, сеанс обновляется, так что сервер знает, что пользователь проверил возраст, и пользователь может видеть содержимое, которое он хотел, без перезагрузки страницы в браузере, что значительно облегчает работу пользователя.
Таким образом, проверка возраста работает безJavaScript, отправив пользователя на страницу подтверждения без сохранения состояния или более дружественным путем с помощью JavaScript.
Когда поисковый паук сканирует сайт, он получает div проверки возраста на каждой странице, потому что у паука не будетнеобходимая переменная сеанса, но поскольку div находится в самом конце html-тела, паук сначала индексирует реальное содержимое.