Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.01.2012, 22:43
Аспирант
Отправить личное сообщение для d-kaktus Посмотреть профиль Найти все сообщения от d-kaktus
 
Регистрация: 05.01.2012
Сообщений: 38

Я не улавливаю разницы...
Систематически натыкаюсь на код страниц интернета довольно солидных компаний, а так же компаний - вэб-разработчиков, которые наряду с использованием js на страницах сайта прибегают к громоздким спискам и т.п. описанным тэгами, без js.

Приведу пример:
<ul>
<li class="style">Элемент списка 1</li>
<li class="style">Второй элемент</li>
<li class="style">Элемент номер три</li>
<li class="style">Ещё какая-то ерунда</li>
<li class="style">Бред сивой кобылы</li>
<li class="style">И всякая хрень</li>
</ul>

Это ерунда, если список такой, но зачастую элементов во много больше.
Почему не использовать такой подход:
<script>
var ul=["Элемент списка 1","Второй элемент","Элемент номер три","Ещё какая-то ерунда","Бред сивой кобылы","И всякая хрень"];
someDiv.innerHTML="<ul><li class='style'>"+ul.join("</li><li class='style'>")+"</li></ul>";
</script>

Я вижу только плюсы в js варианте - при длинном списке объём данных получится значительно меньше, упрощение работы с тэгами и их атрибутами, динамическое изменение списка и т.п.
Полагаю, продвинутые конторы по вэб разработкам не будут заниматься ерундой и прибегнут к оптимальному решению.
Почему же первый пример - без js используют в большинстве? Чем он превосходит js?
В чём заключается разница?

Последний раз редактировалось d-kaktus, 19.01.2012 в 22:46.
Ответить с цитированием
  #2 (permalink)  
Старый 19.01.2012, 22:50
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

ну мне например на PHP куда проще сделать так:
<ul><?php echo '<li class="style">'.implode( '</li><li class="style">', $textList ).'</li>';?></ul>

чем делать так, где писанины больше:
<script>
var ul=["<?php echo implode( '", "', $textList );?>"];
someDiv.innerHTML="<ul><li class="style">"+ul.join("</li><li class="style">")+"</li></ul>";
</script>
И это не единственная причина
Ответить с цитированием
  #3 (permalink)  
Старый 19.01.2012, 22:52
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Думаю для лучшей индексации в поисковиках
Ответить с цитированием
  #4 (permalink)  
Старый 19.01.2012, 22:55
Аспирант
Отправить личное сообщение для d-kaktus Посмотреть профиль Найти все сообщения от d-kaktus
 
Регистрация: 05.01.2012
Сообщений: 38

Согласен, я тоже раньше так делал. Но это увеличивает трафик, а так же нагружает апач->пхп больше, чем с вариантом js. При большом количестве обращений к странице с использованием js, а не пхп в данном случае, сервер без тормозов выдержит гораздо больше одновременных запросов.
Какие же реальные существуют причины, основанные не на лени, а на технической особенности?
Ответить с цитированием
  #5 (permalink)  
Старый 19.01.2012, 22:58
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от zebra
Думаю для лучшей индексации в поисковиках
да это одна из важных причин
Ответить с цитированием
  #6 (permalink)  
Старый 19.01.2012, 22:58
Аспирант
Отправить личное сообщение для d-kaktus Посмотреть профиль Найти все сообщения от d-kaktus
 
Регистрация: 05.01.2012
Сообщений: 38

Сообщение от zebra Посмотреть сообщение
Думаю для лучшей индексации в поисковиках
Согласен, но я буду удивлён, что только это и есть основная причина.
Ответить с цитированием
  #7 (permalink)  
Старый 19.01.2012, 23:03
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

А если js отключен?
Ответить с цитированием
  #8 (permalink)  
Старый 19.01.2012, 23:06
Аспирант
Отправить личное сообщение для d-kaktus Посмотреть профиль Найти все сообщения от d-kaktus
 
Регистрация: 05.01.2012
Сообщений: 38

Сообщение от zebra Посмотреть сообщение
А если js отключен?
Если он отключен, те же сайты работать и не будут, т.к. используют js, но для других целей.
Ответить с цитированием
  #9 (permalink)  
Старый 19.01.2012, 23:10
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

да одна простая причина, чистый HTML отделенный от JavaScript говорит о том что его писал нормальный программист, а не говнокодер, и такой код после этого программиста куда приятнее дописывать/дебажить, чем код в котором мешанина скриптов и тегов в одном. Лично я плююсь от таких сайтов написанных говнокодерами.
Ответить с цитированием
  #10 (permalink)  
Старый 20.01.2012, 00:36
Аспирант
Отправить личное сообщение для d-kaktus Посмотреть профиль Найти все сообщения от d-kaktus
 
Регистрация: 05.01.2012
Сообщений: 38

Сообщение от devote Посмотреть сообщение
да одна простая причина, чистый HTML отделенный от JavaScript говорит о том что его писал нормальный программист, а не говнокодер, и такой код после этого программиста куда приятнее дописывать/дебажить, чем код в котором мешанина скриптов и тегов в одном. Лично я плююсь от таких сайтов написанных говнокодерами.
Если приходится дебажить хтмл, то его писал писатель только вчера познакомившийся с разметкой или у него гнилые мозги. А мешать код не целесообразно, согласен, по этому js удобнее и логичнее вынести во внешний файл. Но когда хтмл и пхп смешивается подобным образом
<ul><?php echo '<li class="style">'.implode( '</li><li class="style">', $textList ).'</li>';?></ul>

По смешиванию это напоминает js. Если это тоже творится говнокодерами, тогда сочувствую - ты написал о самом себе.

Браузеры работают с js, css, html... по сути это разные вещи, но объединены в браузере. Не с проста, наверно, как думаешь?
Ответить с цитированием
Ответ



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

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