Браузеры (IE и Firefox) зависают при копировании большого количества текста - PullRequest
2 голосов
/ 23 апреля 2010

У меня есть веб-приложение - сервлет Java, который доставляет данные пользователям в виде текстовой распечатки в браузере (текст, помеченный HTML, чтобы отображаться в браузере так, как мы этого хотим). Текст отображается разными цветами, хотя большая часть черного цвета. Один из типичных режимов работы такой:
1. Пользователь отправляет форму для запроса данных.
2. Сервлет доставляет HTML-файл в браузер.
3. Пользователь нажимает CTRL + A, чтобы выделить весь текст.
4. Пользователь нажимает CTRL + C, чтобы скопировать весь текст.
5. Пользователь заходит в текстовый редактор и нажимает CTRL + V, чтобы вставить текст.

В тестировании, где у меня возникла эта проблема, шаг № 2 успешно загружает все данные - мы ждем, пока это завершится. Мы можем прокрутить вниз до конца того, что загрузил браузер, и увидеть конец данных. Однако браузер зависает на шаге 3 (Firefox) или на шаге 4 (IE). Поскольку шаг № 2 заканчивается, я думаю, что это проблема браузера / памяти, а не проблема веб-приложения.

Если я запускаю запросы для доставки меньших объемов данных (но после нескольких запросов мы получаем те же данные, которые мы имели бы выше в одном запросе) и копирую / вставляю этот текст, файл, в который я его сохраняю, в итоге занимает около 8 МБ , Если я сохраняю отображаемый в браузере HTML-файл в файл на моем компьютере через File-Save As из меню браузера, он работает нормально, а размер файла составляет около 22 МБ.

Мы пробовали это на 2 разных компьютерах в работе (оба под управлением Windows XP, с минимум 2 ГБ ОЗУ и много ГБ свободного дискового пространства), используя Firefox и IE. Мы также попробовали его на домашнем компьютере из домашней сети за пределами работы (полагая, что это может быть наше программное обеспечение для обеспечения информационной безопасности, вызывающее проблему), под управлением Windows 7 с использованием IE, и все еще имели проблему. Когда я это сделаю, я вижу, какой браузер я использую, используя процессор на 50%. Использование памяти Firefox возрастает примерно до 1 ГБ; IE остается в нескольких сотнях МБ. Однажды мы позволили этому продержаться полчаса, но он не завершился.

Скорее всего, я собираюсь изменить веб-приложение, чтобы иметь возможность доставки простого текстового файла для загрузки, и я полагаю, что это даст пользователям то, что им нужно. Но пока и потому, что мне любопытно - и мне не нравится, что мое приложение блокирует браузеры людей, есть ли у кого-нибудь идеи по поводу зависания браузера? Я понимаю, что иногда вы просто достигаете предела памяти, но 22 МБ звучит для меня как сумма, которую я должен быть в состоянии скопировать в буфер обмена.

1 Ответ

0 голосов
/ 23 апреля 2010

Почему бы просто не сделать File -> Save Page As

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