28.05.2015, 16:47
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
И последнее, где рендерить. Варианты: сделать запрос к бд или получить конфиг из массива и отпостить его в браузер json'ом - по полученным данным все нарисовать. Или нарисовать на сервере со всеми атрибутами и выдать в браузер.
Разница в том что создав элемент вы сразу получаете его как таковой. Его не надо искать и проверять есть или нету такого в доме. Не надо думать про id и кучу атрибутов не надо поднимать. Созданные элементы втыкаются в тот же полученный из json объект и автоматически связываются со связанными данными. Теперь все что вам нужно от созданного элемента - его value, или там индекс, чтобы взять нужные значения из нормального ассоциативного массива или как на js - объекта. Следовательно у вас всегда нормализованные данные, а рендер может быть любым. Сегодня это select options - нажали кнопку в браузере - получились ul li.
Все шиколадно за исключением собственно геморроя с рендером в js. Во-первых туда все равно надо положить html, иначе будет чудесатая иерархия профтыкания дерева - html это же иерархическая структура. Если описывать хтмл на месте, задолбают непонятные интерпретатору переносы в скалярх. Либо придется писать все в одну строку - типа вручную минимизировать, либо дробить строку на куски с конкатенацией.
Отсюда начинается мощное отклонение. Начав рендерить в js вы начинаете качать библиотеки для рендера, шаблонизаторы, задумываться о Shadow DOM и прочей нечисти.
То есть нихера не проще если серьезно подходить, те же яйца вид сбоку.
|
|
28.05.2015, 16:48
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от Sigizmund2012
|
Что-то я о подобном не слышал.
|
Потому что вы никогда не читали документацию на JQuery. Мне за вас почитать и процитировать?
Это будет двойной фейл, потому что я не польуюсь JQuery.
|
|
28.05.2015, 17:01
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от Sigizmund2012
|
Конечно быдлокодер может придумать свой атрибут, например s
|
Значит быдлокодеры и написали JQuery.
Быдлокодеру. Что такое HTML вообще? Это попсовый XML, DTD которого называется спецификация от консорциума. То есть для всего народа сделан DTD с некоторыми девиациями по разным причинам и земшарное сообщество спокойно юзает этот тип не задумываясь о преобразованиях - браузер преобразует однопенисуально для всех. Более того, разница в преобразовании вызывает бурю негодования, особенно в отношении такого сказочного долбо...а как IE.
Преамбула ясна? А что такое тогда XML? Это абсолютная свобода в рамках простой иерархии из тегов и отношений в атрибутах. Теги могут быть любыми, атрибуты могут быть любыми.
Так вот все что отвечает DTD по тегам и атрибутам в HTML, браузер как бы должен но не обязан зохавать, пережевать и выдавать в клювик программисту. А все что не отвечает DTD - не обязан рендерить и компилировать, но выдавать AS IS - обязан.
Там до сих пор геморрой с произвольными тегами, но кто сильно озабочен - тот его пережил и пользуется как хочет.
Понятно где быдлокодеры, а где слаще морковки ничего не ели?
ЗЫ Ну а чтобы свои атрибуты и теги рендерились как-то и компилировались куда-то, вам всего-навсего нужно сделать свой DTD например на языке XSL чтобы получить HTML, иначе браузер ничего не поймет. В своем собственном приложении вы можете рендерить XML вообще как угодно.
И самая мякотка что собственно для этого и был сделан XMLHttpRequset, чтобы получать XML и JS'ом его рендерить без геморроя с XSL. Народ и этого ниасилил и постит JSON.
Последний раз редактировалось kostyanet, 28.05.2015 в 17:07.
|
|
28.05.2015, 17:01
|
|
Профессор
|
|
Регистрация: 16.07.2014
Сообщений: 267
|
|
Сообщение от kostyanet
|
Потому что вы никогда не читали документацию на JQuery. Мне за вас почитать и процитировать?
|
Это было бы прекрасно. Есть метод attr(), который позволяет создавать атрибуты, записывать и читать из них данные, но чтобы jQuery на уровне ядра использовала "не занятые" атрибуты, о подобных чудесах я не слыхал
|
|
28.05.2015, 17:11
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Сообщение от Sigizmund2012
|
о подобных чудесах я не слыхал
|
Сообщение от kostyanet
|
Мне за вас почитать и процитировать?
|
процетируй соколик, чай не переломишься с натуги.
|
|
28.05.2015, 17:12
|
|
Профессор
|
|
Регистрация: 16.07.2014
Сообщений: 267
|
|
Сообщение от kostyanet
|
Ну а чтобы свои атрибуты и теги рендерились как-то и компилировались куда-то, вам всего-навсего нужно сделать свой DTD например на языке XSL
|
Это не обязательно, современные браузеры и так позволяют писать любые теги и любые атрибуты, и это всё работает, правда валидатор w3c ругается на них, ну да хрен с ним. Тыкните меня носом в доки jQuery, где описано, как она использует "не занятые" атрибуты.
|
|
28.05.2015, 17:26
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Меня эти быдлокодеры задолбали не только в РСФСР. Понимаете, когда начинаешь изучать новое, первым делом читаешь этих светочей, которые понапишут о канонах х знает что, ну, что по их мнению кошерно и обосрут все что не по нраву.
Например пресловутые инлайн скрипты. Что быдлокодеры пишут? Что скрипты должны быть неразрывны, или как там, забыл слово.
<body class="hp" onload="...
Это с гугля, с google.com, явный разрыв шаблона непрерывности. Кроме того онкликов там как гавна.
Ну и вот это что такое - jsaction="foot.cst">Settings</a>
То есть гуглю можно, а остальные должны сосать у светочей?
|
|
28.05.2015, 17:30
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от Sigizmund2012
|
Это не обязательно, современные браузеры и так позволяют писать любые теги и любые атрибуты,
|
Вы вообще не понимаете о чем речь. Писать-читать это мастхэв само собой и ТС должен об этом знать чтоб такое гавно не писать. Пусть пишет data-, никакой разницы с d или s, если пользоваться только getAttribute() и ничем иным.
Никакой ваш тег или атрибут не будет учтен и отрендерен просто потому что на него нет модели. Вы процитировали про модель, а написали про чтение-запись, то есть вы вообще не врубатесь о чем речь.
|
|
28.05.2015, 17:33
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Для тех кто не в курсе - гугля пишется не в нотепаде++ и не в сраных IDE. Достаточно одного взгляда на их сырец, чтобы увидеть - все проходит через мощный дизайн-тайм компилятор. Ну и собственно я не утверждаю что у них тоже есть быдло, поскольку в одной странице может быть скомпилирован код сотни кодеров, и какие-то там есть и быдлы. Но практика просто доказывает что быдло - это правЕльные программисты.
|
|
28.05.2015, 18:21
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Хорошо, забираю наезд на прелестную Жикверю, не могу найти этот баян, читал и четко помню как они объясняли почему именно такие проперти у них, потому что нельзя совпадать с кошерными атрибутами. Видать с тех пор уже похоронили ту версию.
Тем не менее еще можно выдавать плевок из гугля в сторону этой заведомо устаревшей либы. Походу на главной странице при всем обилии скриптов не нашлось места ей. Быдло, что с них взять.
Вспомнил чем оборачивается попытка заюзать компилированные атрибуты. Надо знать во что превращаются их имена в DOM'е. Если вы написали в html - maxlength, то в из дома должны ловить maxLength.
|
|
|
|