|
|
|
Динамическая подгрузка стилей на страницу через Ajax
|
|||
|---|---|---|---|
|
#18+
Есть веб-приложение, состоящее из нескольких страничек. Странички загружаются по GET, дальше их фрагменты обновляются аяксом (SPA-приложение) Каждый обновляемый фрагмент, передаваемый с сервера) представляет собой JSON (который может содержать в себе как разметку, так и служебные данные, то есть я запросто могу добавить в него как ссылку на стилевой файл, так и непосредственно стили в виде текста). В процессе работы подгружается, уничтожается, заменяется множество таких фрагментов. Некоторые фрагменты могут иметь специфические стили. При этом каждый фрагмент достаточно самостоятельный, кроме того, заведомо неизвестно, какой фрагмент на какую из страниц будет подгружаться (и в каком количестве). То есть логично, чтобы стили подгружались вместе с загрузкой фрагмента (и при желании выгружались при уничтожении фрагмента, зачем захламлять память). Загрузкой/выгрузкой фрагментов занимается мой собственный код (используя $.ajax), то есть я могу модифицировать его как вздумается). Вопрос в том, как лучше всего организовать весь этот процесс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2015, 14:46 |
|
||
|
Динамическая подгрузка стилей на страницу через Ajax
|
|||
|---|---|---|---|
|
#18+
создавать новый тег STYLE, пихать туда строку CSS, после отработки подчищать (удалять этот тег STYLE) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2015, 17:35 |
|
||
|
Динамическая подгрузка стилей на страницу через Ajax
|
|||
|---|---|---|---|
|
#18+
создавать динамически с помощью $('...') и цеплять append-ом к head, так? это будет адекватно работать в различных браузерах? как идентифицировать этот тег для последующего удаления? можно ли к нему добавить атрибут id или другие атрибуты? Или хранить jquery-ссылку на него? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2015, 17:39 |
|
||
|
Динамическая подгрузка стилей на страницу через Ajax
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, расходы по загрузке одного сжатого и закешированного css файла могут быть намного меньше, чем постоянная манипуляция кусками, все стремятся в основном слить в один файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2015, 17:48 |
|
||
|
Динамическая подгрузка стилей на страницу через Ajax
|
|||
|---|---|---|---|
|
#18+
Shocker.Proсоздавать динамически с помощью $('...') и цеплять append-ом к head, так? это будет адекватно работать в различных браузерах?да. цепляние НЕ к head не работало бы в сафари, во всем остальном это самый кошерный способ. Shocker.Proкак идентифицировать этот тег для последующего удаления? можно ли к нему добавить атрибут id или другие атрибуты? Или хранить jquery-ссылку на него?как угодно, на что хватит фантазии. у любого тега может быть любой атрибут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2015, 17:50 |
|
||
|
Динамическая подгрузка стилей на страницу через Ajax
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, это очень просто просто и без jQuery делается. Будет работать во всех браузерах мгновенно, то-есть после добавления или удаления стилей тут-же будет меняться внешний вид. Иногда нужно всего-то пару стилей подправить или показать/скрыть несколько колонок, вот для этого и требуются такие действия как Вам надо, эх, приведу так и быть изменённыей немного код из своих наработок (код подправлен и не проверен, но должен работать) Код: 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2015, 17:52 |
|
||
|
Динамическая подгрузка стилей на страницу через Ajax
|
|||
|---|---|---|---|
|
#18+
-k2-расходы по загрузке одного сжатого и закешированного css файла могут быть намного меньше, чем постоянная манипуляция кусками, все стремятся в основном слить в один файля это осознаю, баланс разумности будет соблюден ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2015, 17:59 |
|
||
|
Динамическая подгрузка стилей на страницу через Ajax
|
|||
|---|---|---|---|
|
#18+
бухалтер фантоцциэто очень просто просто и без jQuery делаетсяспасибо за пример, ну так или иначе jQuery подключен бухалтер фантоцципоказать/скрыть несколько колонок,да, кстати, иногда стиль с динамическими параметрами был бы очень уместен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2015, 18:05 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38925451&tid=1446131]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
146ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 406ms |

| 0 / 0 |
