-->

你有多少嵌套的标签HTML可以有它崩溃浏览器之前?(How many nested tags in

2019-11-04 02:56发布

我今天早些时候有一个想法就嵌套的HTML标签和浏览器如何使它们:

<html xmlns="http://www.w3.org/1999/xhtml" {or whichever html version} xml:lang="en" lang="en">
<head>
</head>
<body>

n = 1

<div>

递归格n次,直到最大(浏览器失败)

</div>
</body>
</html>

什么会n是当浏览器无法处理任何更多的递归?

我认为这将是每个浏览器的不同,不同的也为移动应用。 是否有一个web标准,如域名最大127字符长度?

我从来没有碰到这个问题,但我很好奇它何时会。

Answer 1:

有没有需要最大嵌套的标准,所以这将是完全的具体实施。

机会是崩溃之前,浏览器将变得不可用(缓慢起伏等)。

如果你很好奇,你可以基准本 - 产生嵌套的标签和代码的应用程序时看到每个浏览器上你崩溃:)



Answer 2:

你担心太多了。 或者你正在规划一个waaay太复杂的布局。 即使如此,这是不太可能,你会与每一个不刻意制造这样做HTML达到这样的极限。

如果浏览器的HTML解析器是递归的,喂深度嵌套的标签时,仅仅是因为堆栈溢出它可能会崩溃。 但在现代系统/ OSS,堆栈是在默认情况下大到足以支持一百年以上的递归级别,根据栈上分配的变量的大小。

如果解析器是不是递归的,因为一个极其复杂的(令人难以置信的大令人难以置信的深度嵌套)文档时,我的下一个选择将是一个OutOfMemoryError。



Answer 3:

似乎有(似乎?)是这方面的一些问题与Firefox。

见https://groups.google.com/forum/#!topic/mozilla.dev.platform/SUknMzK1ZAc

格外,Firefox的限制(ED?)深至200元。



文章来源: How many nested tags in HTML can you have before it crashes a browser?