Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Возможно ли вывести div lazyload-ом, чтоб этот div по Ctrl+U не видеть? (https://javascript.ru/forum/jquery/73332-vozmozhno-li-vyvesti-div-lazyload-om-chtob-ehtot-div-po-ctrl-u-ne-videt.html)

VasyOK 07.04.2018 02:46

Возможно ли вывести div lazyload-ом, чтоб этот div по Ctrl+U не видеть?
 
Всем привет!
Вот сайт (не мой) https://panama.ua/
Там есть блок "Новинки". Если смотреть код сайта (по Ctrl+U, а не в средствах разработчика) этого блока "Новинки" - нет. Т.е. он как-то подгружается.

Вопрос: можно ли такое сделать с помощью какой-то jQuery бибилиотеки?
Попробовал с помощью https://github.com/emn178/jquery-lazyload-any
сделать
<div class="lazyload">    
        <script type="text/lazyload">
          <?php print render($page['something']); ?>
        </script>
</div>


$('.lazyload').lazyload();


Оно с моим PHP кодом сработалось, но по CTRL+U все равно видно.

Может другим способом?

j0hnik 07.04.2018 03:01

все что загружено к сожалению будет видно.

VasyOK 07.04.2018 03:05

Но на сайте, который я в пример привел - не видно же. Как сделать подобное?

j0hnik 07.04.2018 03:08

VasyOK,
не видно в коде до того как загрузка выполнена?

VasyOK 07.04.2018 03:16

Честно не знаю выполнена ли загрузка.

Захожу на сайт, жму CTRL+U в Firefox-e - и содержимого этого блока не нахожу. Нахожу только обертку этого содержимого, а того что внутри - нет. Пустота там.

Естественно Ctrl+F для поиска юзаю.

j0hnik 07.04.2018 03:18

http://api.jquery.com/load/ тогда этого вполне хватит

VasyOK 07.04.2018 03:41

Черз load - делаю, но все равно в коде - видно :(

А если не хвататет есть ли JS библиотеки, рашающие подобное?

Nexus 07.04.2018 10:48

Вам по сути нужно дождаться окончания загрузки страницы (или пока пользователь не прокрутит страницу до вашего блока), отправить запрос на сервер и вставить полученные от него данные в блок.
Дело нескольких строк.

<div class='lazy-block' data-block-key="new-products"></div>
<script>
  $('.lazy-block').each(function() {
      this.load('/path/to/asyncHandler.php', {
          key: this.dataset.blockKey
      });
  });
</script>
Сервер должен отдать по полученному ключу (get-параметр key) запрошенный блок.
if(!isset($_GET['key'])) 
  exit('Bad Request');

$key = $_GET['key'];
if($key == 'new-products') 
  exit('<div>Lazy Block Content</div>');

exit('Not Found');

winch 07.04.2018 17:28

Цитата:

Сообщение от VasyOK (Сообщение 482656)
Захожу на сайт, жму CTRL+U в Firefox-e - и содержимого этого блока не нахожу. Нахожу только обертку этого содержимого, а того что внутри - нет. Пустота там.

верно. если подгружать часть контентента дополнительными ajax запросами, то в коде исходной страницы его видно не будет.


Часовой пояс GMT +3, время: 03:04.