Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/40: Рейтинг темы: голосов - 40, средняя оценка - 4.65
2 / 2 / 1
Регистрация: 08.08.2019
Сообщений: 35

Показывать popup только 1 раз в сутки или 1 раз в несколько часов

04.02.2020, 12:23. Показов 8573. Ответов 9

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите разобраться
Как сделать так, чтобы popup открывался только один раз в сутки или 1 раз в несколько часов
Я не сильная в js и т.п. поэтому буду рада подробному объяснению


popup с формой обратной связи
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<div id="parent_popup">     
<div id="popup">    
<!--FEEDBACK-->
<form action="/js/popup.php" method="post" style="text-align: center;">
 <br>
 <input type="text" name="first_name" required="" placeholder="Введите ваше имя*"><br>
 <input type="text" name="email" required="" placeholder="Введите ваш e-mail*"><br>
 <input type="text" name="phone" required="" placeholder="Введите номер*" onkeyup="return proverka(this);"> 
<br>
<label>Причина Обращения*:</label><br>
 <textarea rows="5" name="message" cols="30>
</form>
<!--END FEEDBACK-->
<a class="close" title="Закрыть" onclick="document.getElementById('parent_popup').style.display='none';">X</a>
</div>
</div>
popup.js На данный момент popup появляется через 3 секунды на каждой странице и при каждом обновлении страницы
JavaScript
1
var delay_popup=3000;setTimeout("document.getElementById('parent_popup').style.display='block'", delay_popup);
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.02.2020, 12:23
Ответы с готовыми решениями:

Прокрутка страницы только один раз в сутки
Задача: при наведении курсора мыши на кнопку - максимально быстро скроллим страницу вверх на N=20px. Но! Скрипт должен сработать только...

Как показывать див посетителю только один раз?
Здравствуйте! Помогите с кодом, нужно чтобы див показывался посетителю только один раз, при первом посещении. Хотелось бы это...

Как сделать автоматический back-up книги раз в неделю или раз в сутки
Ребят, помогите, у меня есть несколько вопросов 1. Как сделать автоматический back-up раз в неделю или раз в сутки и так чтобы файл...

9
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
04.02.2020, 15:02
записать в куки дату\время открытия
при открытии страницы проверять
0
21 / 20 / 3
Регистрация: 23.09.2014
Сообщений: 293
04.02.2020, 22:21
Создай поле в таблице с пользователями. В нем записывай секунду (от 1970 г.) когда было выполнено отображение искомого.
При попытки вызова, необходимо проверять созданное поле на "заданное-прошедшее" время (в 1 сутках 86400 секунд).

Это явно не тема "JavaScript > jQuery". Эта задача скорее из области PHP и SQL - во всяком случаи так ее вижу я, может я что-то не понял
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3970 / 2092 / 832
Регистрация: 13.03.2010
Сообщений: 6,905
05.02.2020, 08:09
Richik, зачем такие сложности? Выше предложен самый адекватный и верный вариант с куками.
0
21 / 20 / 3
Регистрация: 23.09.2014
Сообщений: 293
05.02.2020, 10:12
gogolik очищаем кеш, куки, файлы и историю, браузер нечего напомнит, не знает и запускаем еще раз.
Ну или заходи с другого браузера/устройства.

А если записывать время в базе, ограничение не обойти.
Для взлома придется получить доступ к скрипту.
0
Супер-модератор
Эксперт JSЭксперт HTML/CSSЭксперт PHP
 Аватар для gogolik
3970 / 2092 / 832
Регистрация: 13.03.2010
Сообщений: 6,905
05.02.2020, 10:57
Richik, 1) не факт, что есть "пользователи". Точнее, судя по форме, их банально нет.
2) для взлома чего? Лишнего вызова поп-апа?

Не усложняйте там, где это не нужно.

p.s. предвидя ответ, что пользователя можно опознать по ip и т.д. - алгоритм "ломается" сменой ip и всего, к чему вы хотите его привязать.
0
2 / 2 / 1
Регистрация: 08.08.2019
Сообщений: 35
05.02.2020, 14:11  [ТС]
fanatikus, Если вам не сложно, могли бы вы написать примерный код, который подойдет к моему, чтобы подключить куки?
0
380 / 230 / 115
Регистрация: 22.11.2016
Сообщений: 379
05.02.2020, 15:19
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        .block {
            display: none;
        }
    </style>
</head>
<body>
    <div class="block">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium.</div>
 
    <script type="text/javascript">
        "use strict";
 
        const populLoad = 'popupLoad';
 
        function getPopupTime(popupLoad) {
            let time = new Date().getTime();
            if (localStorage.getItem(popupLoad)) {
                time -= localStorage.getItem(popupLoad);
                console.log(time);
            } else {
                localStorage.setItem(popupLoad, time);
            }
            return time;
        }
 
        // 60000 - 1 минута
        // 3600000 - 1 час
 
        if (getPopupTime(populLoad) > 60000) { 
            document.getElementsByClassName("block")[0].style.display = "block";
            localStorage.setItem(populLoad, new Date().getTime()); // Обновляем после появления блока..
        }
        
    </script>
</body>
</html>
1
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
05.02.2020, 15:41
Лучший ответ Сообщение было отмечено gogolik как решение

Решение

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function get_cookie(cookie_name){
    let results = document.cookie.match('(^|;) ?' + cookie_name + '=([^;]*)(;|$)');
 
    if (results)
        return (unescape(results[2]));
    else
        return null;
}
 
// интервал вывода окна в секундах
let interval = 300;
let delay_popup=3000;
 
if (get_cookie('modal') == null) {
    setTimeout("document.getElementById('parent_popup').style.display='block'", delay_popup);
 
    document.cookie = "modal=1; domain=\; max-age=" + interval;
 
}
1
0 / 0 / 0
Регистрация: 26.05.2020
Сообщений: 1
26.05.2020, 22:36
Здравствуйте! Я вывожу попап с помощью встроенного блока. Окно автоматически запускается, и по кнопке запускается, но по Вашему примеру не получается сделать так, чтобы показ был один раз в сутки.
Помогите пожалуйста с моим примером (вариантом)

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!-- Кнопка вызова модального окна -->
<button id="action" uk-toggle="target: #my-id" type="button" class="uk-button uk-button-danger">Акция 20/40</button>
 
<!-- Модальное окно -->
<div id="my-id" uk-modal>
    <div class="uk-modal-dialog uk-modal-body">
        <h2 class="uk-modal-title">Акция 20/40</h2>
        <button class="uk-modal-close-outside" type="button" uk-close></button>
    </div>
</div>
<script>
window.onload = function() {
    var button = document.getElementById('action');
    button.onclick = function() {
        console.log('asdf')
    }
    button.click();
}
 
    
       
</script>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.05.2020, 22:36
Помогаю со студенческими работами здесь

Сетевые атаки по несколько раз в сутки
Вот такой вопрос возник ... Подключаешся к инету,все тихо и благополучно,но,в течении дня,суток,может до раз нескольких ,от 1 до...

Непонятные артефакты несколько раз в сутки на экране монитора
Привет Форум. На экране моего монитора стали странные вещи появляться. Дело в том, что стали появляться какие-то &quot;артфекты&quot;,...

Как сделать клик только раз в сутки?
Всем привет! Есть кнопка, который должен появится только раз в сутки после клика. Пробовал записать следующий день в базу и проверить, если...

Запись значения 0 раз в сутки, и раз в месяц
Дорогие форумчане, помогите решить проблему (не могу разобраться с временем) есть БД в MySQL и программа на C# Ситуация следующая : ...

Синий экран раз в несколько часов
Всем привет!!!Мучает синий экран,перепробовал практически все:биос сбрасывал,память проверял,винду переустонавливал,не могу даже понять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru