|
|
|
[HTML] Данные внутри документа
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Мне необходимо реализовать lazy load на странице определённого блока html (безо всяких там этих ваших ajax-запросов), который не попал бы в DOM при загрузке страницы, оставаясь при этом на самой странице в каком угодно виде. В блоке находится множество подключаемых скриптов с разных сайтов, которые тормозят первоначальную синхронную загрузку страницы. Какие я рассматриваю варианты: Вариант №1 Запихнуть в тег script с неизвестным типом и после загрузки страницы пытаться его вставить в нужный блок. Пример: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: javascript 1. 2. 3. 4. 5. 6. 7. Вариант №2 Содержимое блока загнать в base64 и расположить в каком-либо элементе с display: none и потом так же js-ом достать, задекодить и закинуть в DOM. Вариант №3 Весь текст блока поместить в JS переменную window.lazyLoadBlock и действовать как раньше Вариант №4 Использовать CDATA --------------------------------------- Вариант 1 не работает потому что внутри блока встречается </script> который его закрывает (даже тут подсвечивается соответствующе) Вариант 2 оверхед при рендеринге в случае использования шаблонных тегов внутри этого блока Вариант 3 работает, но по моему скромному мнению не очень красивое решение, опять же, рендеринг в JS с экранированием Вариант 4 не могу разобраться как оно работает, может, CDATA вообще для этого не предназначена? Прошу совета как лучше всего решить данную проблему. Спасибо. P. S. Пример сделан "на коленке", но суть осталась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2013, 06:52 |
|
||
|
[HTML] Данные внутри документа
|
|||
|---|---|---|---|
|
#18+
Весь бред, что тут понаписан, не имеет отношения к lazy load, данные будут в DOM в любом случае, не в том виде так в этом. Почему нельзя просто скрыть блок? Зачем нужен этот дикий ахтунг с прятками в переменных и cdata? Если лишь из-за этого: В блоке находится множество подключаемых скриптов с разных сайтов, которые тормозят первоначальную синхронную загрузку страницы.то их-то и нужно подгружать, когда в них возникнет нужда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2013, 09:18 |
|
||
|
[HTML] Данные внутри документа
|
|||
|---|---|---|---|
|
#18+
Antonariy, Данные в DOM, окей. Не нужно чтобы они были его элементами, скажем так, коль до слов докопались. >то их-то и нужно подгружать, когда в них возникнет нужда. Как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2013, 12:21 |
|
||
|
[HTML] Данные внутри документа
|
|||
|---|---|---|---|
|
#18+
NekZ В блоке находится множество подключаемых скриптов с разных сайтов, которые тормозят первоначальную синхронную А если просто кинуть их в самый низ страницы? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2013, 13:27 |
|
||
|
[HTML] Данные внутри документа
|
|||
|---|---|---|---|
|
#18+
Парамон, Это всё равно синхронная загрузка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2013, 08:41 |
|
||
|
[HTML] Данные внутри документа
|
|||
|---|---|---|---|
|
#18+
NekZ>то их-то и нужно подгружать, когда в них возникнет нужда. Как? Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Либо сразу после window.onload страницы по списку проходить и подгружать все скрипты через document.createElement('script');. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2013, 10:34 |
|
||
|
[HTML] Данные внутри документа
|
|||
|---|---|---|---|
|
#18+
как подгружать js А когда, это уже вам решать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2013, 11:28 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38245935&tid=1448380]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
140ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 472ms |

| 0 / 0 |
