a.html
ABC
b.html
<!--#include FILE="a.html" -->
XYZ
访问b.html:file:///home/kurz/Desktop/b.html
它只显示XYZ
这不是在html中包含文件的方法吗?
答案 0 :(得分:7)
您尝试的内容称为Server-Side Include(SSI)。因此,它要求页面在Web服务器上运行,而不是本地文件。
当您从服务器请求页面时,服务器会看到<!--#include FILE="a.html" -->
预处理器并执行SSI。
当您直接从文件系统引用它时,例如file:///home/kurz/Desktop/b.html
,您的所有浏览器都在加载原始html并解释它。
答案 1 :(得分:0)
如果是apache尝试
<!--#include virtual="insertthisfile.html" -->
来自here:
包括虚拟和包含文件 几乎一样的事情。区别 是包括虚拟的a URL风格的路径,这就是你 可能期待。包括虚拟罐头 如果您的网站也执行CGI程序 服务器支持,包括 他们的输出。包含文件需要一个 文件系统路径,无法执行 CGI计划。两人都接受 相对路径,所以对于一个简单的情况 像上面他们一样工作。如果 你不明白其中的区别 Web路径和文件系统之间 路径,使用包括虚拟。
答案 2 :(得分:0)
你正在做的是SSI
- &gt;需要Server Side Includes
或Apache
工作的IIS
。
您需要安装Apache
(对于windows / unix)或IIS
(对于Windows)才能生效。此外,您可以在远程Web服务器上测试它。
答案 3 :(得分:0)
是的,服务器端包含
需要服务器如果只是纯HTML,请使用iframe ... 而不是#include,请使用:
<iframe src="a.html"></iframe>
如果您的网站符合XHTML标准(可能不是),则需要进行进一步的更改