1

我有一个 <pre> 元素,我正在填充大量文本(在本例中约为 72000 个字符)。在 chrome 和 safari 中,我注意到 <pre> 中的文本在 65535 字符标记处被分成两部分。我可以这样说,因为在检查器中,我可以选择两个文本块,类似于我选择元素的方式。

您会认为在这种情况下,您会看到前 65535 个字符,但实际上我看到的是第二个字符块,而前 65535 个字符是隐藏的。我认为这是因为元素内的文本包含转义的 XML。

<pre> 元素内的文本有没有办法绕过这个字符限制?

4

2 回答 2

1

文本节点有最大内存限制,在这种情况下似乎是 65535 字节。因此,当您的文本大于该值时 - 它将被放置在两个文本节点中。

不知道你的意思是什么"while the first 65535 characters are hidden",我在这里试过:http: //jsfiddle.net/valentinas/dv99r/1/它在 Chrome 23 上看起来不错。

于 2012-12-06T20:16:44.990 回答
0

请注意,在 PRE 中,行长度限制为 80 个字符。在段落中换行需要一个换行符。要准确地打破一个段落,需要两个换行符。

如果重排 text/plain,它仍应遵循段落结构,而不仅仅是中断长行。无论对于移动设备来说多么必要,这仍然是个问题。

默认情况下,它不应该中断并且应该横向滚动行。

纯文本的这种先例可以追溯到远程打印,并且是编程和编译器输入的基础。像微软一样打破它,我会很生气。

如果应用程序的限制为 64kio,则可以将其更改为在段落中中断,这样它们就不会被拆分。

于 2013-04-04T05:10:12.240 回答