TextArea中的大文本冻结计算机

时间:2009-10-21 12:05:18

标签: html textarea

当我尝试使用大文本设置textarea的值(例如字符串长度为600000)时,浏览器(Firefox 3.5.3)会冻结。

文本在1行中,因此文本换行需要由textarea本身进行。我认为这会导致问题。

有没有人知道这个问题的解决办法?

5 个答案:

答案 0 :(得分:9)

Firefox中textarea的最大大小为64K(可能只有32K,我无法回忆)。 600,000个字符大于此。如果您粘贴到textarea的文字大小实际上超过了该大小,那么您无能为力。

当然,一种替代方案是对进入该领域的数据设置某种类型的限制,然后向用户提供一些反馈,说明他们的数据不适合的原因。

答案 1 :(得分:9)

禁用拼写检查程序(在Firefox 7.0中,在“首选项”窗口中取消选中“在我键入时检查我的拼写”选项。)

您还可以将spellcheck="false"属性添加到HTML格式的textarea中。

答案 2 :(得分:5)

答案肯定有点晚了,但为了加快textarea或editable div中大块文本的粘贴操作,只需禁用自动完成功能:

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

答案 3 :(得分:3)

基本上没有针对这种数据大小设计的控件,因为将所有信息一次性呈现给用户根本没有任何意义。

即使控件处理数据,它也几乎无法使用,因为您无法以任何合理的方式浏览数据。

答案 4 :(得分:1)

与其他人所说的一样,这可能不是最佳解决方案,具体取决于您尝试处理的数据类型。

如果你真的需要这个,你可能想要考虑使用Javascript并拥有一个“可编辑的”DIV。我自己从来没有试过这个,但我总是把它作为一个选项,以防我想要替代非常有限的textarea表单元素。

我将从这里开始,对该主题进行更多研究:

How to make an HTML <div> element editable cross-browser?

从理论上讲,这应该对它包含的文本数量没有任何限制,或者据我所知你可以粘贴到它中。