Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.04.2018, 02:46
Аспирант
Отправить личное сообщение для VasyOK Посмотреть профиль Найти все сообщения от VasyOK
 
Регистрация: 08.12.2017
Сообщений: 31

Возможно ли вывести 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 все равно видно.

Может другим способом?
Ответить с цитированием
  #2 (permalink)  
Старый 07.04.2018, 03:01
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

все что загружено к сожалению будет видно.
Ответить с цитированием
  #3 (permalink)  
Старый 07.04.2018, 03:05
Аспирант
Отправить личное сообщение для VasyOK Посмотреть профиль Найти все сообщения от VasyOK
 
Регистрация: 08.12.2017
Сообщений: 31

Но на сайте, который я в пример привел - не видно же. Как сделать подобное?
Ответить с цитированием
  #4 (permalink)  
Старый 07.04.2018, 03:08
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

VasyOK,
не видно в коде до того как загрузка выполнена?
Ответить с цитированием
  #5 (permalink)  
Старый 07.04.2018, 03:16
Аспирант
Отправить личное сообщение для VasyOK Посмотреть профиль Найти все сообщения от VasyOK
 
Регистрация: 08.12.2017
Сообщений: 31

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

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

Естественно Ctrl+F для поиска юзаю.
Ответить с цитированием
  #6 (permalink)  
Старый 07.04.2018, 03:18
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

http://api.jquery.com/load/ тогда этого вполне хватит
Ответить с цитированием
  #7 (permalink)  
Старый 07.04.2018, 03:41
Аспирант
Отправить личное сообщение для VasyOK Посмотреть профиль Найти все сообщения от VasyOK
 
Регистрация: 08.12.2017
Сообщений: 31

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

А если не хвататет есть ли JS библиотеки, рашающие подобное?
Ответить с цитированием
  #8 (permalink)  
Старый 07.04.2018, 10:48
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

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

<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');

Последний раз редактировалось Nexus, 07.04.2018 в 10:51.
Ответить с цитированием
  #9 (permalink)  
Старый 07.04.2018, 17:28
Аспирант
Отправить личное сообщение для winch Посмотреть профиль Найти все сообщения от winch
 
Регистрация: 30.04.2015
Сообщений: 87

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск