Как сделать всплывающее окно на сайте с запуском по временному промежутку?

InstantCMS 2.X
#1 4 февраля 2020 в 13:38
Друзья, подскажите пожалуйста скрипт, который выводит модальное окошко с текстом, которое должно появляться только в определенный промежуток времени: С 22.30 до 9.00 — т.е в ночное время суток и до утра при каждом заходе посетителя на сайт.
#2 4 февраля 2020 в 14:04
Делал у себя версию День / Ночь. Ночью все темное, днем наоборот.
Как проверить время...
  1.  
  2. <?php $time = date('H');
  3. if ($time > 6 && $time < 23) { ?>
  4. body{background:#e7ecf0 !important}
  5. <?php } else { ?>
  6. body{background:#ffffff !important}
  7. <?php } ?>
  8.  
С 23 до 6 будет background:#e7ecf0
С 6 до 23 будет background:#ffffff

модальное окошко с текстом

Def

при каждом заходе посетителя

Def
Тут я пока не в курсе.
Но можно в опции шаблона добавить html поле и подставив это условие $time > 6 && $time < 23 выводить всем пользователям что то через модальное.
+ есть виджет в каталоге… его можно и переписать на свой лад.
#3 4 февраля 2020 в 14:26
Def, ваше условие так бы выразил
  1.  
  2. <?php
  3. $hi = date("Hi");
  4.  
  5. if (!($hi >= "0900" && $hi <= "2230")) {
  6. // здесь вывод вашего модального окна
  7. }
  8.  
И да, время на сервере может отличаться от времени по которому вы живете.
#4 4 февраля 2020 в 20:48

Def, ваше условие так бы выразил

@IamB
Неплохо б строку привести к числу, ну и печеньку организовать до конца сессии (могу ошибаться (не программер), не обессудьте, если ошибаюсь)
#5 4 февраля 2020 в 21:01

Неплохо б строку привести к числу…

Олег Васильевич я
Строки отлично сравниваются, поверьте на слово.

могу ошибаться (не программер)

Олег Васильевич я
Ну так пора уже что-то сделать.
#6 4 февраля 2020 в 21:41


И да, время на сервере может отличаться от времени по которому вы живете.

@IamB

К слову, есть железнобетонный способ узнать время у пользователя?
#7 4 февраля 2020 в 21:57

К слову, есть железнобетонный способ узнать время у пользователя?

Ленивый
Если Def хочет, чтобы ему по ночам не звонили, то важно время по которому живет Def.
А способ узнать время — отправить с помощью JS время на какой-то обработчик на сервере при событии.
#8 4 февраля 2020 в 23:42

Ну так пора уже что-то сделать.

@IamB
Куда ведет ссылка?
#9 4 февраля 2020 в 23:54

Куда ведет ссылка?

Алексей Тимофеев
Вас что-то смущает?
#10 5 февраля 2020 в 06:31

Вас что-то смущает?

@IamB
Нет, просто ссылка ведет на сайт заблоченный РКН вместе с телегой smile
#11 23 марта 2020 в 15:48
ребят, есть у кого готовое ррешение? можно за символическую оплату рублей 500 — нужно чтобы я мог просто даже в html код вставить скрипт со стилями и работало всплывающее окно.
#12 23 марта 2020 в 17:40
addons.instantcms.ru/addons/ajaxwitget.html — на последней ветке по моему не работает, но вы лучше проверьте, так как могу ошибаться
#13 23 марта 2020 в 17:51

ребят, есть у кого готовое ррешение?

Def
Напишите в личку, обсудим подробности. Возможно с магу помочь…
#14 23 марта 2020 в 20:27
Def, что речь о виджетах, то есть такая оболочка:

Оболочка "Всплывающих виджетов" — wrapper_popup
Селекторы управления поведением:
in_left, in_right, in_top, in_center — место выведения окна с виджетом (по умолчанию — внизу (селектор не нужен))
tо_static — виджет выведется в обычной позиции без перезагрузки страницы (по умолчанию — нет)
delay_10, delay_20, delay_30, delay_60 — время в секундах, после которого выведется окно с виджетом (по умолчанию — 5с (селектор не нужен))
no_year — не вывоводить кнопку "Больше не показывать"
no_session — не вывоводить кнопку "Напомните в следующий раз"
диапазон времени вывода виджета (часы, минуты): interval_1500_2330, где 1500 — начало в 15:00, 2330 — окончание в 23:30 (если селектор не назначен, виджет выводится постоянно

Здесь минутку понаблюдайте
#15 23 марта 2020 в 21:06

Возможно с магу помочь...

Killer's dream
С маг? rofl
Сори.Неудержаться было. laugh
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.