我有2个HTML文件,假设a.html
和b.html
。在a.html
我想要包含b.html
。
在JSF中,我可以这样做:
<ui:include src="b.xhtml" />
这意味着在a.xhtml
文件中,我可以包含b.xhtml
。
我们如何在*.html
档案中执行此操作?
使用html 5(如果可以在html 5中完成)。
答案 0 :(得分:31)
令人惊讶的是,同样的问题被提出并且有可能:HTML5 include file
拉法回答:
使用object标记:
<object name="foo" type="text/html" data="foo.inc"></object>
foo.inc应该包含有效的HTML。
我在Konqueror,Firefox和Chromium上测试过它。
请注意,您必须使用单独的</object>
标记,否则丢弃之后的任何内容。
如果你觉得它很有用(我这样做),请upvote Rafa回答(不是我的),因为“它不可能”正在传播疾病。
答案 1 :(得分:6)
如果您的服务器支持SSI(服务器端包含),您可以将以下内容放在html文件中,而无需脚本语言或其他任何内容。 Apache默认启用了SSI(我认为?)
<!--#include file="same_path_file.html" -->
<!--#include virtual="docroot_file.html" -->
“file”是相对于当前文件的,并且可能用于包含相关文件,例如“relevant_article_poll.html”。
“virtual”是相对于文档根目录(即您的网站根目录),您可以使用它来包含全局文件,例如页眉和页脚。
选择哪一个并不重要,但了解两者之间的区别是很有用的。
此外,include指令为每个文件向服务器发出一个新的内部http请求,因此您可以包含php文件等等,它们将按原样执行。
以下是SSI的有用概述:http://en.wikipedia.org/wiki/Server_Side_Includes
答案 2 :(得分:3)
要在HTML5中使用PHP include函数,您只需编辑.htaccess文件,如下所示:
<Files *.html>
ForceType application/x-httpd-php
</Files>
现在您可以在html文件中使用任何PHP代码,如下所示:
<?php include 'menu.html'; ?>
干杯;)
答案 3 :(得分:1)
HTML5与HTML 4.01在这个意义上没有区别,因为如果没有某种脚本,这就完全无法完成。