Firefox DOMContentLoaded и события загрузки очень медленные для большого контента в textarea - PullRequest
1 голос
/ 27 марта 2011

Я пытаюсь загрузить большой (несколько мегабайт) документ в текстовой области.

Игнорирование времени загрузки сети (которое на самом деле минимально, когда я перезагружаю его, поскольку он получает 304), в Firebugон говорит мне, что DOMContentLoaded и событиям загрузки требуется почти 20 секунд, чтобы перейти к стрельбе.

Если я изменю текстовую область на div, она сократит время до 5 секунд, даже если на самом делерендеринг всего содержимого!

Не загружены библиотеки javascript - выгрузка их была первой попыткой.У меня есть несколько загруженных файлов CSS.

Есть идеи о том, что делает его таким медленным или, что еще лучше, как ускорить процесс?Загружать содержимое порцией за раз?Довольно уродливо, но, по крайней мере, оно дает пользователю возможность взглянуть не на заблокированный браузер, а на потенциальные предупреждения «этот скрипт слишком долго».

Это Firefox 3.6.15 в Ubuntu.

1 Ответ

5 голосов
/ 23 апреля 2011

Дэвид, в Firefox 3.6 и более ранних текстовых областях с очень длинным содержимым довольно медленно, потому что код редактора переформатирует DOM внутри текстовой области: он создает один текстовый узел и один <br> на строку.Это гораздо больше работы, чем просто визуализация одного дочернего текстового узла <div>.

. Вы должны попробовать Firefox 4, который редактирует текстовый узел (или, скорее, его клон) напрямую;Я подозреваю, что это будет намного быстрее на вашей странице.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...