Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> самодельный innerHTML средствами DOM, парсер на JS своими руками. Нужно мнение 
:(
    Опции темы
Иль
Дата 23.7.2005, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Всем доброго времени.
Нужно ваше мнение или что подскажет интуиция. Если я соберу самодельный innerHTML средствами DOM не будет ли это черезчур медленно работать? Точнее сказать на какой глубине вложенности это начнет конкретно тормозить smile ?
Добавлено @ 23:10
Может эта затея вам кажется бессмысленной? Обоснуйте, плз.


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Irokez
Дата 23.7.2005, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



innerHTML -> DOM или DOM->innerHTML ?
PM   Вверх
Иль
Дата 23.7.2005, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Нет, только HTML распарсить в дерево нод.


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Irokez
Дата 23.7.2005, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



Цитата
Нет, только HTML распарсить в дерево нод.

если я не ошибаюсь (а могу ошибаться..), то HTMLArea - WYSIWYG редактор на JS парсит HTML и работает достаточно быстро
PM   Вверх
S.A.P.
Дата 23.7.2005, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



Цитата
Может эта затея вам кажется бессмысленной? Обоснуйте, плз.
затея кажется бессмысленой, обоснуйте плиз.

PM MAIL   Вверх
Sardar
Дата 24.7.2005, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Иль зачем это нужно, что то не пашет как надо?


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Иль
Дата 24.7.2005, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Надо было вначале написать почему smile.
1. А вот хочу и все. Отговорите пожалуйста меня, дурного.
2. Опера не создает нестандартные атрибуты (а ведь может о_перцы smile исправят со временем)
3. innerHTML затирает старое содержимое полюбэ, а моя фича нет. Вернее тут уж как я задам. Вот у меня DOM/Nodes комбаин (фабрика нод) содержимое в ноду вставляет интеллектуально. Хочеш, затрет, хочеш insertBefor (только укажи ему ноду или id), а хочеш вперед или назад вставит. Елки, а ведь можно вынуть старое содержимое, применить innerHTML, потом интеллектуально вернуть старое содержимое или даже скомпоновать его с новым (О! Уже не зря топик создат. Осинило!!! Надо имплементировать это срочно)
4. Забыл, было еще что-то
5. Ну вообще-то надо, но можно и обойтись ввиду того, что меня выше осинило
6. Запчасти уже есть, осталось только реги подогнать, простенькую виртуальную отрисовку вложенности собразить и склеить воедино и отлаживать пол года smile, но если пойму, что надо для работы, соберу сразу.

Получается основательно есть только одна причина, отстойничество Opera в вопросах innerHTML. А может у нее есть и други братья по несчастью? Я таких не знаю. Кстати, никаких гарантий, что при реализации Опера не выкинит еще сурпрайзов smile

Irokez, спасибо. Я тогда соберу инфу по HTMLArea, может и впрямь там на JS сделано.


А вот нужен ли DOH -> HTML я не определился из-за пробела в знаниях.
Подскажите, вот есть фреймы или родительское с дочерним окна. Можно ли между ними передавать ссылку на нужную ноду, чтоб при получении ее в другом окне или фрейме сделать тупо .cloneNode(true)? Если в обоих случаях можно, то потребность отпадает полностью.
Правда есть еще серверные фичи передачи между сайтами, но думаю, что там можно обойтись без HTML используя сериализации и оговоренные отрисовки.
И если б сделал DOH -> HTML, то заточил бы сильно под себя, работал только с объявленными: событиями, свойствами JS, атрибутами (что в принцепе у меня уже и реализовано) и ограничил бы глубину вложенности.
Добавлено @ 11:54
Потом с DOH -> HTML мелкой возни больше будет


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Sardar
Дата 24.7.2005, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
Опера не создает нестандартные атрибуты (а ведь может о_перцы smile исправят со временем)

А они тебе так нужны? Ну создал ты не стандартные аттрибуты програмно, очень редко когда нужно их сериализировать в HTML. А когда опера нормально XML поддерживать начнёт(а она это делает с версии 7.6 по моему), то перетаскивать инфу в HTML теряет смысл.

Цитата
Подскажите, вот есть фреймы или родительское с дочерним окна. Можно ли между ними передавать ссылку на нужную ноду, чтоб при получении ее в другом окне или фрейме сделать тупо .cloneNode(true)? Если в обоих случаях можно, то потребность отпадает полностью.

Нет, нода, даже если ты её клонируешь, являеться собственностью документа, перенести из одного в другой через appendChild нельзя. Но есть механизм импорта у документа:
Код

//original_node это нода из другого документа
var node_copy=document.importNode(original_node, true); //true - скопировать и содержимое ноды тоже
//node_copy это копия ноды в контексте текущего документа
//теперь полученную ноду можно appendChild в любое место.

Это DOM2, не все его имплементировали. Благодаря этому механизму не нужно перекидывать инфу между фреймами в виде innerHTML. Инфа о importNode.

Цитата
. А вот хочу и все. Отговорите пожалуйста меня, дурного.

Отговаривать не стану, просто скажу что страница твоя после этого будет тяжёлой, использовать это кроме тебя никто не будет. Просто пожалеешь своё время и силы smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Иль
Дата 24.7.2005, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Спасибо, отговорил на все 100 smile


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 31.7.2005, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Цитата
Отговорите пожалуйста меня, дурного.

Смысл? Если ты хочешь быстрее - врятли будет. Если ты хочешь кросбраузернее - тем более. Смысла нет smile
PM MAIL WWW ICQ Skype   Вверх
Иль
Дата 1.8.2005, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 544
Регистрация: 3.3.2005
Где: Москва

Репутация: 2
Всего: 14



Цитата(Aliance @ 31.7.2005, 14:55)
Если ты хочешь кросбраузернее - тем более

Aliance, ты не оговорился? Используются-то только DOM стандарты.


--------------------
Ты виндусятник?... А я да. smile
PM MAIL ICQ Skype GTalk   Вверх
Aliance
Дата 15.8.2005, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



А все браузеры поддерживают DOM? А IE4, скажем?
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 15.8.2005, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Aliance @ 15.8.2005, 17:38)
А IE4, скажем?

А зачем так извращаться? Нету сейчас ИЕ4. Можно конечно писать огромные слои абстракции, отказывать себе во всём и результат будет всегда один - помимо JS и его API есть элементарные фичи браузера, которые тоже не будут работать. Например под Оперой 6 нельзя изменить style.display у элемента - всё забыли про скрытие. А NN4 не имеет style, у него другая модель совсем - новый слой абстракции. А старые браузеры не имеют XMLHttpRequest и динамически создаваемые скрипты - всё будем юзать ифреймы(хм... а не все браузеры имеют ифреймыsmile ).

И так можно ещё долго и долго. В какой то момент тебе потребуеться остановиться и сделать выбор smile
Для себя решил, народ что пользуеться моим софтом - это не извращенцы и они любят обновлять софт. Ниже чем ИЕ5.5 встречаться не должно smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Aliance
Дата 15.8.2005, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



ну вы меня не поняли - ну и ладно. Я теоретически говорил, а не практически. Я осознаю то, что ты написал. Более того, я так же негативно отношусь к Опере в целом, но я не про это...
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0773 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.