Возможно ли вывести 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 все равно видно. Может другим способом? |
все что загружено к сожалению будет видно.
|
Но на сайте, который я в пример привел - не видно же. Как сделать подобное?
|
VasyOK,
не видно в коде до того как загрузка выполнена? |
Честно не знаю выполнена ли загрузка.
Захожу на сайт, жму CTRL+U в Firefox-e - и содержимого этого блока не нахожу. Нахожу только обертку этого содержимого, а того что внутри - нет. Пустота там. Естественно Ctrl+F для поиска юзаю. |
http://api.jquery.com/load/ тогда этого вполне хватит
|
Черз load - делаю, но все равно в коде - видно :(
А если не хвататет есть ли JS библиотеки, рашающие подобное? |
Вам по сути нужно дождаться окончания загрузки страницы (или пока пользователь не прокрутит страницу до вашего блока), отправить запрос на сервер и вставить полученные от него данные в блок.
Дело нескольких строк.
<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');
|
Цитата:
|
| Часовой пояс GMT +3, время: 08:11. |