Большой текст в TextArea приводит к зависанию компьютера

Когда я пытаюсь установить значение текстового поля с большим текстом (например, длиной строки 600000), браузер (Firefox 3.5.3) зависает.

Текст находится в одной строке, поэтому перенос текста должен выполняться самим текстовым полем. Думаю, в этом проблема.

Кто-нибудь знает, как исправить эту проблему?


person jeroen.verhoest    schedule 21.10.2009    source источник


Ответы (5)


Максимальный размер textarea в Firefox составляет 64 КБ (может быть всего 32 КБ, я не могу вспомнить). 600 000 символов больше, чем это. Если размер текста, который вы вставляете в textarea, действительно превышает этот размер, вы ничего не можете с этим поделать.

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

person Tom    schedule 21.10.2009
comment
Чем больше ты знаешь. Спасибо за эту информацию. - person ty812; 21.10.2009

Отключите проверку орфографии (в Firefox 7.0 снимите флажок «Проверять орфографию при вводе» в окне настроек).

Вы также можете добавить атрибут spellcheck="false" в текстовое поле в HTML.

person Lucian    schedule 28.09.2011

Конечно, ответ приходит немного поздно, но чтобы ускорить операции вставки больших фрагментов текста в текстовое поле или редактируемый div, просто отключите автозаполнение:

<div onClick="this.contentEditable='true';" autocomplete="off">
  lorem ipsum dolor lorem ipsum dolorlorem ipsum dolor
</div>
person plang    schedule 05.10.2010

По сути, нет элементов управления, предназначенных для таких размеров данных, потому что просто не имеет смысла предоставлять пользователю всю эту информацию сразу.

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

person Guffa    schedule 21.10.2009
comment
Почему голос против? Если вы не объясните, что вы считаете неправильным, это не улучшит ответ. - person Guffa; 03.11.2015

Как и то, что говорят другие люди, это может быть не лучшим решением в зависимости от того, с какими данными вы пытаетесь обращаться.

Если вам это действительно нужно, вы можете рассмотреть возможность использования Javascript и наличия «редактируемого» DIV. Я никогда не пробовал это сам, но всегда оставлял это как вариант на случай, если мне понадобится альтернатива очень ограниченному элементу формы textarea.

Я бы просто начал здесь и немного поработал над этой темой:

Как сделать HTML-элемент ‹div› редактируемым кросс-браузером?

Теоретически здесь не должно быть никаких ограничений на количество текста, которое он содержит, или вы можете вставить его, насколько я знаю.

person theotherlight    schedule 21.10.2009