Как сворачивать Pop up окно при клике?

Ссылка скопирована
1 ответ

https://pastebin.com/9KeGzbL2 суть скрипта чтоб при первом любом клике открывалось pop-up как новое окно браузера но мне необходимо чтоб это окно сразу сворачивалось.
По такому принципу на сайте https://kinozal.tv срабатывает всплывающее окно, вот не пойму какая функция нужна чтоб окно сворачивалось, нагуглить не получается, а chatgpt говорит что это нечестные методы рекламы и молчит, подскажите пожалуйста.

Дополнительно:

У меня на Kinozal'е ничего не выскакиевает: видимо, AdBlock режет похабщину.

1. для чего вам понадобилась такая сомнительная механика?
2. открываемое окно на том же домене, или на чужом?
3. можете менять код открываемого окна (владеете тем сайтом)?

  • 1. Есть ряд сайтов которые монетизирую подобной механикой но там pop окно прямо в лоб открывается, необходимо скрыть окно с рекламой
    2. На другом
    3. Владею
  • rungame, window.open() возвращает референс на прокси открытого окна. Попробуйте его закрыть через таймаут:
    const tmpWindow = window.open('https://example.com', ... ); setTimeout(() => tmpWindow.close(), 1000); // через секунду закрыть

    const tmpWindow = window.open('https://example.com', ... ); setTimeout(() => tmpWindow.close(), 1000); // через секунду закрыть

    Не проверял, это может потребовать настройки CORS, но может и так получится.
    Если нет, можно отправлять в открытые окна так же, через tmpWindow.postMessage() сообщение, а в открываемых сайтах добавить код, слушающий эти сообщения (только с опр. домена) и закрывающего окно при получении.

  • Сергей Соколов, спасибо, буду пробовать
  • let popup = window.open('https://...') popup.blur(); window.focus();

    let popup = window.open('https://...') popup.blur(); window.focus();

    Некоторые браузеры могут блокировать такое поведение.

    Еще вариант, ресайзить открытый попап и уводить его за область просмотра...

  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Кирилл JS Ответ

    Для того чтобы сворачивать Pop up окно при клике, вам необходимо использовать JavaScript. Вот пример кода на JavaScript, который позволит вам реализовать данную функциональность:

    // Находим элемент, который будет отвечать за открытие Pop up окна
    var trigger = document.querySelector('.popup-trigger');
     
    // Находим само Pop up окно
    var popup = document.querySelector('.popup');
     
    // Добавляем обработчик события клика на элемент, который будет отвечать за открытие Pop up окна
    trigger.addEventListener('click', function() {
      // Проверяем, открыто ли Pop up окно
      if (popup.style.display === 'block') {
        // Если открыто, то сворачиваем его
        popup.style.display = 'none';
      } else {
        // Если закрыто, то открываем его
        popup.style.display = 'block';
      }
    });

    // Находим элемент, который будет отвечать за открытие Pop up окна var trigger = document.querySelector('.popup-trigger'); // Находим само Pop up окно var popup = document.querySelector('.popup'); // Добавляем обработчик события клика на элемент, который будет отвечать за открытие Pop up окна trigger.addEventListener('click', function() { // Проверяем, открыто ли Pop up окно if (popup.style.display === 'block') { // Если открыто, то сворачиваем его popup.style.display = 'none'; } else { // Если закрыто, то открываем его popup.style.display = 'block'; } });

    В данном коде мы находим элемент, который будет отвечать за открытие Pop up окна, и само Pop up окно. Затем мы добавляем обработчик события клика на этот элемент. Внутри обработчика мы проверяем, открыто ли Pop up окно. Если оно открыто, то мы сворачиваем его, а если закрыто, то открываем.

    Вы можете изменить классы элементов и стили по своему усмотрению, чтобы код соответствовал вашим потребностям. Надеюсь, данное объяснение поможет вам реализовать сворачивание Pop up окна при клике.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно