powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Теоретический вопрос, как правильнее делать на JavaScript
18 сообщений из 18, страница 1 из 1
Теоретический вопрос, как правильнее делать на JavaScript
    #34071625
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть два способа создать таблицу со всеми ее внутренностями.
Первый, мы просто делаем
Код: plaintext
1.
div.innerHTML='<table><tr><td>1</td></tr></table>';
Второй способ сложнее, но
Код: plaintext
1.
2.
3.
var newElem = document.createElement("TABLE");
document.div.appendChild(newElem);
...

Какой способ правильнее?
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071632
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DamnedestЕсть два способа создать таблицу со всеми ее внутренностями.
Первый, мы просто делаем
Код: plaintext
1.
div.innerHTML='<table><tr><td>1</td></tr></table>';
Второй способ сложнее, но
Код: plaintext
1.
2.
3.
var newElem = document.createElement("TABLE");
document.div.appendChild(newElem);
...

Какой способ правильнее?

Думается мне, что первый способ возлагает больше логики на сервер, а второй - на клиент. А если вместо тейбла что-то другое сунуть придется - то тебе выбирать что модифицировать - либо яваскриптовую часть либо серверную. ИМХО серверную поприятнее модифицировать :)
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071634
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, обе части выполняются на клиенте...

например мне надо сделать таблицу.
Я могу создать просто заполнив innerHTML у тега DIV например, а могу создать объект таблицу, заполнить в нем все свойства, создать объекты TR и TD, присоединить их к таблице и полученное в итоге присоединить к DIV.

Оба варианта выполняются полностью на клиенте, а сервере передает только необходимую информацию. На вывод он не влияет.
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071642
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DamnedestНет, обе части выполняются на клиенте...
Оба варианта выполняются полностью на клиенте, а сервере передает только необходимую информацию. На вывод он не влияет.

Я имел в виду, что для первого варианта полную структуру html-фрагмента строит сервер, и клиенту остается только тупо воткнуть полученное в требуемое место. А во втором варианте теги таблицы формируются клиентским скриптом.
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071645
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему же?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
var arr = new Array();
//Это возвращает севере. Массив для вывода
arr[ 0 ] =  1 ;
arr[ 1 ] =  2 ;
arr[ 2 ] =  3 ;
//Это делает клиент
result_html = '<table>';
for (i= 0 ;i< 3 ;i++)
{
  result_html += '<tr><td>'+arr[i]+'</td></tr>';
}
result_html = '</table>';

document.write(result_html);
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071647
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут видно, что сожержимое формируется клиентом. Вопрос в том как формировать... с помощью innerHTML или с помощью объектов
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071651
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DamnedestПочему же?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
var arr = new Array();
//Это возвращает севере. Массив для вывода
arr[ 0 ] =  1 ;
arr[ 1 ] =  2 ;
arr[ 2 ] =  3 ;
//Это делает клиент
result_html = '<table>';
for (i= 0 ;i< 3 ;i++)
{
  result_html += '<tr><td>'+arr[i]+'</td></tr>';
}
result_html = '</table>';

document.write(result_html);


А почему не возвращать через XMLHttpRequest уже сформированный сервером фрагмент вместо сборки кусков на клиенте?
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071652
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DamnedestТут видно, что сожержимое формируется клиентом. Вопрос в том как формировать... с помощью innerHTML или с помощью объектов

Сформировать фрагмент серверными скриптами и клиенту остается только тупо воткнуть пришедший от XMLHttpRequest ответ в требуемый innerHTML. Клиент получится тоньше :)
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071654
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HTML занимает слишком большой объем информации по сравнению с полезными данными...

Слишком большой объем придется закачивать клиенту... Увеличение объема страницы с 50 кило до 3-4 мег... :)
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071655
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При большом количестве элементов.
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071660
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DamnedestHTML занимает слишком большой объем информации по сравнению с полезными данными...

Слишком большой объем придется закачивать клиенту... Увеличение объема страницы с 50 кило до 3-4 мег... :)

Ага, идею понял. Если куча однотипных элементов у которых меняется только один кусок - тогда да, логичнее передавать с сервера только этот кусок, и повторяющиеся теги доклеивать клиентом.
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071661
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага, в этом то и задумка. Только я не знаю, как правильнее создавать этот кусок :)
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071666
Vladimir Kozlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DamnedestАга, в этом то и задумка. Только я не знаю, как правильнее создавать этот кусок :)

Первый способ имхо нагляднее и читабельнее, а второй - академичнее :)
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071750
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первый, читабельнее, лучше, если закрыть глаза на то, что это нестандартно и будут проблемы, если будешь выводить не только числа. Типичный пример - отобразить текст, содержащий символы <, >, &, ', ", возможно, в тексте атрибутов. Далее, при генерации тегов текстом можно легко нарушить иерархию элементов (часто встречается), а то и вообще сгенерить невалидный фрагмент.
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071758
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это понятно что перед на сервере надо делать
Код: plaintext
addshalshes(htmlspecialchars($value));

Никаких проблем с выводом не возникнет вообще. Все отобразится так как введено.

Но все же вопрос немного в другом, как правильнее?
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071774
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что значит "правильнее"?
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071777
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Либо создавать таблицу как объект, формировать внутри нее строки как объекты и т.п.
Или просто сделать все через innerHTML
...
Рейтинг: 0 / 0
Теоретический вопрос, как правильнее делать на JavaScript
    #34071821
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И то и то правильно. innerHTML может образовывать ДОМ
Неправильно будет использовать неудобный в конкретной ситуации способ
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Теоретический вопрос, как правильнее делать на JavaScript
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]