Как добавить задержку появления alert
Есть вот такой скрипт в теле html
<script type="text/javascript">
if (!('123' in window)) {
alert('Отключите адблок');
}
</script>
И подключенный JS файл advert.js с единственной строчкой: window.123 = false; Если данный файл не загружается (заблокирован к загрузке соответствующим расщирением), то выскакивает алерт. Мне кажется, что скрипт срабатывает слишком быстро, что страница даже не успевает полностью прорисоваться. Я не программист, не знаю как объяснить. Но пока не нажмёшь, остальное не отобразится, по крайней мере в Хром. Наиболее явно это начинает происходить при просмотре второй и последующих страниц. Видимо после открытия сайта скрипты кешируются и технически (код) успевает загружаться, а вот прорисовываться сама страница в браузере ещё нет. Это может смутить посетителя. Как отсрочить появление данного сообщения? |
12345678,
Смотрите https://learn.javascript.ru/onload-ondomcontentloaded |
<script type="text/javascript">
if (!('123' in window)) {
setTimeout("alert('Отключите адблок')",2000);
}
</script>
|
j0hnik,
зачем же таймаут, если ему нужно по загрузке страницы? |
Ему вроде как задержка нужна.
|
Dilettante_Pro,
Смотрите https://learn.javascript.ru/onload-ondomcontentloaded к сожалению данные способы не гарантируют полный рендринг ( например если что то на странице подгружается ajax-ом) |
j0hnik
Спасибо! Задержка сгодится. Мне главное чтобы сама страничка более менее подгрузилась. Ведь всё равно пока не нажмёшь на OK у появившегося алерта, ничего нельзя сделать будет. Главное что за период задержки подгрузится сам HTML и не будет создаваться видимого эффекта "обрубленной" страницы :-) |
| Часовой пояс GMT +3, время: 15:10. |