我今天早些时候有一个想法就嵌套的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字符长度?
我从来没有碰到这个问题,但我很好奇它何时会。
有没有需要最大嵌套的标准,所以这将是完全的具体实施。
机会是崩溃之前,浏览器将变得不可用(缓慢起伏等)。
如果你很好奇,你可以基准本 - 产生嵌套的标签和代码的应用程序时看到每个浏览器上你崩溃:)
你担心太多了。 或者你正在规划一个waaay太复杂的布局。 即使如此,这是不太可能,你会与每一个不刻意制造这样做HTML达到这样的极限。
如果浏览器的HTML解析器是递归的,喂深度嵌套的标签时,仅仅是因为堆栈溢出它可能会崩溃。 但在现代系统/ OSS,堆栈是在默认情况下大到足以支持一百年以上的递归级别,根据栈上分配的变量的大小。
如果解析器是不是递归的,因为一个极其复杂的(令人难以置信的大和令人难以置信的深度嵌套)文档时,我的下一个选择将是一个OutOfMemoryError。
似乎有(似乎?)是这方面的一些问题与Firefox。
见https://groups.google.com/forum/#!topic/mozilla.dev.platform/SUknMzK1ZAc
格外,Firefox的限制(ED?)深至200元。