为什么HTML5不包含将本地HTML加载到文档中的方式?
我最近在想这件事。 为什么HTML5不能真正让您将HTML加载到文档中来分解您的HTML文件?
它支持几乎所有其他资产(图像,视频,音频)。
是的,我们有iframes
, embeds
和objects
但它们是沙盒,并且不遵循文档其余部分的流程。
我正在考虑类似的东西:
<h2>My wonderful application</h2>
<include src = "leftPane.html" type = "text/html" />
<include src = "main.html" type = "text/html" />
<include src = "footer.html" type = "text/html" />
我很乐意有人向我解释这一点。 在我们制作的几乎每个Web应用程序中,我们都使用某种形式的模板来分解HTML,为什么HTML5不仅仅包含它?
我会感激你的(无焰)思想。
马特
事实证明,这已经出现在WHATWG邮件列表中:客户端包含提案:Shannon提出了您正在说的,解析器在加载文档片段时必须阻止的内容。 Ian Hickson拒绝了它,因为延迟成本太高。 此外,许多Web服务器已经提供了一个简单的功能,所以它被认为不值得。
您可能想要调查使用iframe
的seamless
属性,这会导致将完整文档放置在文档中,但是像任何块元素一样(从主机文档继承样式)。 尽管如此,我并不认为它受到许多浏览器的支持。
不,每个请求都不需要往返服务器,如果模板的内容不变,那么它可以被缓存并且更少的数据必须被传送。 这就是为什么你把CSS和JavaScript放入单独文件的原因。
问了类似的问题,这是可能的:HTML5包含文件
Rafa的回答:
使用对象标签:
<object name="foo" type="text/html" data="foo.inc"/>
foo.inc应该包含有效的HTML。
我在Konqueror,Firefox和Chromium上测试过它。
如果你觉得它有用(我这样做),请注意Rafa的答案(不是我的),因为“这是不可能的”正在像疾病一样蔓延。
链接地址: http://www.djcxy.com/p/88917.html上一篇: Why does HTML5 not include a way of loading local HTML into the document?