Блокировать всплывающие окна

Тема в разделе "Мегафлуд", создана пользователем vave, 6 дек 2015.

  1. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    374
    Симпатии:
    15
    Сделал сайтик с iframe, внутри иклудится другой сайт, на котором есть реклама в виде всплывающих окон, она просто омерзительна, очень часто всплывает окно с сообщением о том что у меня вирус и мне нужно срочно обновить свой браузер (классика жанра), не хотел бы чтобы пользователи сайта загружали себе всякие вирусы.

    Казалось бы проблема популярная и решений масса, когда то у меня стоял такой скрипт на старом сайте, лет 10 назад.

    Но сейчас все ссылки в интернете, ведут к приложениям для браузера Chrome или FiteFox.
     
  2. iwlseo

    iwlseo Писатель

    Регистр.:
    6 май 2013
    Сообщения:
    2
    Симпатии:
    1
    Для начала нужно понять как найти эти реклымные хрени в DOM документа. Скорее всего у них какие-то айдишники используются или классы, по которым их можно найти. Тогда дело останется за малым.
     
  3. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    374
    Симпатии:
    15
    Там подключается JS файл, в котором все данные попапов, попап срабатывает при нажатии куда-нибудь на страничке. Дублировал данный файл, ставил его выше всего, заменял содержимое совими ссылками, срабатывает через раз... А последнее время что-то и вовсе не срабатывает.
     
  4. systemqwe

    systemqwe Писатель

    Регистр.:
    5 дек 2015
    Сообщения:
    0
    Симпатии:
    0
    Может стоит удалить события onmousedown или onmouseup по которым попап срабатывает на этой страничке?
     
  5. vave

    vave

    Регистр.:
    23 июн 2007
    Сообщения:
    374
    Симпатии:
    15
    К сожалению в этом проекте, нет такого, тут заходишь на станичку, тыкаешь в любое место во фрейме, и открывается реклама, после можно пользоваться сайтом, пока не обновишь страничку

    вот эта прямая ссылка на скрипт который вызывает рекламу, обнаружил там команды "mousemove"
     
    Последнее редактирование модератором: 10 янв 2016
  6. lag

    lag

    Регистр.:
    13 окт 2014
    Сообщения:
    205
    Симпатии:
    258
    А если ограничить исполнение скриптов в iframe, с помощью механизма Content-Security-Policy
     
  7. imba2la

    imba2la Постоялец

    Регистр.:
    1 май 2015
    Сообщения:
    72
    Симпатии:
    102
    Можно попробовать разместить обработчик на событие Frame.onload, который будет разделегирвать все события всех DOM-элементов фрейма. Если конечно Вам не нужно чтобы какая то часть скриптов исполнялась, в таком случае нужно будет искать и разделегировать только конкретные элементы фрейма.

    Пример на JQuery.
    Код:
    $(document.getElementById('FRAME_ID')).on('load', function(e){
        e.preventDefault();
        $(this).find('*').off();
    });
    
    Код нужно разместить таким образом, чтобы он был вызван первым в стеке после загрузки фрейма, иначе нужно либо поставить таймер с небольшой задержкой, либо подчистить результат выполнения нежелательных скриптов.
     
    Последнее редактирование: 9 дек 2015