Авторизация:

Js задача

Поиск

Найти сообщения:  За сутки  |  Без ответов
Автор Сообщение
Ссылка04.08.2008 в 19:11
Здравствуйте !

Сразу к делу, суть задачи :

Сгенерировать яваскриптом ~ ***элемнтов div или td, всунуть их в страницу, при этом оставить браузер живим

Поиск результатов не дал, так же как и эксперименты.

Решаема ли задача ?

Спасибо за внимание с ув. Сергей.
Ссылка04.08.2008 в 19:49  [Отредактировано: 04.08.2008 в 19:50]
Интересный вопрос...
В общем у меня на слабой машинке больше ***уже тормозит. Всё от CPU зависит в основном Используй AJAX, чтобы сразу готовый код грузить, или разбивай на отдельные страницы.
Хотя может и есть чисто JS решение
Ссылка04.08.2008 в 20:20
Мне больше интересно даже не как решить эту задачу, а для чего её нужно решать?
Ссылка04.08.2008 в 20:27
To ovs :

тормозить начинает не из-за создания такого количества элементов, а из-за их внедрения в тело документа ( браузер начинает сильно много ресов кушать ).

Аякс, Серверная часть не помогут, разбиение на страницы увы не подходит.

Думаю задача сводится к тому, что бы на яваскрипте каким-то методом ( возможно нестандартным ) создавать элементы гораздо меньшего размера ( как-то их урезать)) ), нежели при использовании стандартных методов создания. Возможно я ошибаюсь.

To Spree : а мне как раз наоборот как ее решить
Ссылка04.08.2008 в 20:38
Любой шестимегабайтовый файл (это только теги 700 тысяч дивов) будет тормозить в браузере, если еще и JS прибавить...
Так что такие масштабы необходимо переносить на серверную часть.
Если не секрет, скажите, пожалуйста, зачем Вам такие масштабы?
Ссылка04.08.2008 в 21:08
Цикл на 700 тысяч шагов)
куда проще
нагрузка все равно убийственная)
Ссылка04.08.2008 в 21:12
Цитата (-Caesar-):

тормозить начинает не из-за создания такого количества элементов, а из-за их внедрения в тело документа ( браузер начинает сильно много ресов кушать ).

Ну тут основной прикол именно в JS. Без него просто относительно долго грузится. В общем, на машинке MacBook Pro 2.6GHz 2Gb работает. Для цикла, который ***раз выводит: <div>Test</div>
Ссылка05.08.2008 в 00:13
Из идей, разве что создание всех элементов не одни махом за цикл в ***.. а подгружая постепенно с перекурами Например через setTimeOut.. Т.е. в одном такте таймера подгружать не сильно много элементов, например 3000, чтобы браузер успевал в перекурах отвечать за запросы ОС. Но в любом случае, ресурсов при это скушается очень много. Тут действительно лучше бы на аяксе, подгружать только просматриваемую часть данных.
Ссылка05.08.2008 в 01:19
Вообще жуткая задача, у меня браузер не сразу очухался даже когда сгенерил. Результат измерения времени начала/конца выполнения:
2:19:15.609
2:19:57.312

делал "дедовским" innerHTML
Ссылка05.08.2008 в 07:08
Если много вложенных, то попробуйте сделать с помощью DocumentFragment (http://webo.in/articles/habrahabr/55-fast-documentfragment/) - как раз добавление элементов в тело документа будет происходить быстрее
Ссылка05.08.2008 в 10:29
То Phoenix_Ukraine :
понимаю что для более четкого решения,
Вам необходимо знать цели задачи, но пока все же это секрет

то RUSYA :
перекуры пробовал очень разнообразные, все мимо ...

Цитата (franky):
2:19:15.609
2:19:57.312

) у меня он не очухивался, за статистику спс, учту.

Буду пробовать DocumentFragment.
Ссылка05.08.2008 в 15:58
Как попробуете - отпишитесь, очень интересно какой из подходов реализуемый. Если будет интерес - скину свой код.
Забыл пояснить свои эксперименты:
время - это начало/конец выполнения;
Опера;
Атлон 2.5, 1.5Гб ОЗУ.