Я хочу показать рекламное всплывающее окно после того, как пользователи были на моем сайте либо на определенное количество времени, либо после определенного количества просмотров страниц. Например. я хочу, чтобы он появился после того, как пользователь просмотрел 3 страницы.
Как это сделать, используя JavaScript / jQuery или PHP?
Хорошо, люди предложили PHP-решение, я буду дополнять javascript. Вот очень простой подход localStorage
:
if ((localStorage.pageViews = (+localStorage.pageViews || 0) + 1) > 3) { alert('Marketing'); }
Демо: http://jsfiddle.net/vBLv5/ (обновить страницу 3 раза).
В PHP вы просто встроили javascript, если бы произошло x посещений (сохранить его в файл cookie / сеанс)
В Javascript вы сохраняете ту же информацию + время на странице в файле cookie или localstorage и запускаете всплывающее окно …
Вы можете использовать $ _SESSION из PHP и хранить в нем целое число. Затем проверьте, что целое и ваше требование для количества посещений.
if(!isset($_SESSION['page_runs'])) { $_SESSION['page_runs'] = 1; }else{ $_SESSION['page_runs'] = $_SESSION['page_runs'] + 1; if($_SESSION['page_runs'] == 3) { echo '<script></script>'; } }
<?php session_start(); if( isset( $_SESSION['counter'] ) ) { $_SESSION['counter'] += 1; } else { $_SESSION['counter'] = 1; } $msg = "You have visited this page ". $_SESSION['counter']; $msg .= "in this session."; ?> <html> <head> <title>Setting up a PHP session</title> </head> <body> <?php echo ( $msg ); ?> </body> </html>
Вы можете установить Cookie, когда пользователь впервые посещает ваш сайт со значением = 1
$_COOKIE['visit_count'] = 1;
При последующих посещениях страниц вы можете увеличить это значение,
$_COOKIE['visit_count'] = $_COOKIE['visit_count'] + 1;
И сравните это значение, чтобы выполнить необходимые действия.
if($_COOKIE['visit_count'] === N) { //Do some stuff }
Вы можете получить доступ к файлу cookie в Javascript. Но убедитесь, что Cookie не httponly.