我正在使用类似于此网站和谷歌的导航栏,并且我想说我想制作更多具有相同布局的网站。我将如何使用html进行此操作?我知道php有:
<?php include "file name"; ?>
有没有办法在HTML文档中做类似的事情?
答案 0 :(得分:1)
“有没有办法在HTML文档中做类似的事情?”
是的,有一个HTML等价物(,如果我可以说)包含文件,它被称为服务器端包含(SSI),它使用.shtml
文件扩展名,但这是Apache功能。 然而,从最近的一项发现来看,它可以在Windows服务器上运行。有关SSI使用和Consult Microsoft's Developer Network的更多信息,请this page also on Microsoft's IIS.net。
语法为:( <!--
和#include...
之间没有空格)
<!--#include virtual="/includes/file.shtml" -->
这将查找并获取名为file.shtml
的文件到根目录和“includes”文件夹中。
注意:这可以是您想要的任何文件夹。
您还可以添加不同的文件扩展名,例如.htm
.html
.txt
以及其他.shtml
文件。
我管理了一些具有该特定文件扩展名的网站,并且包含.shtml
文件的好处是,您还可以在其中包含更多内容,但不包括我已列出的其他文件扩展名。
然而,此规则有例外。只要您使用
,就可以告诉服务器将.html
或.htm
视为.shtml
。
AddHandler server-parsed .html
AddHandler server-parsed .shtml
AddHandler server-parsed .htm
Apache .htaccess
文件中的命令,放在服务器的根目录下。
回到手头的问题。您可以在要包含文件的文档中的任何位置使用它。
有关服务器端包含和其他可用选项的更多信息,请访问Wikipedia网站,或Google“服务器端包含(SSI)”一词。
答案 1 :(得分:1)
只需让您的HTML文件通过PHP解析器运行,我就可以为我的所有网站执行此操作,因此菜单和其他重复部分之类的内容只需更新一次即可。您可以使用.htaccess文件执行此操作。
这将使所有.htm和.html文件也通过PHP解析器运行。
<FilesMatch "\.(htm|html)$">
SetHandler application/x-httpd-php
</FilesMatch>
然后,您只需使用原始帖子中提到的相同方法。无论您包含什么,都将由PHP解析器处理,然后发送到浏览器,该浏览器将解释HTML。
请注意,PHP文件中可以包含任何内容,只有<?php ?>
标记内的部分才会由PHP解析器实际处理。所以我的部分都是HTML,除了一个类似一年的小部分。以下是我的网站永远不会过时的版权,即使网站没有维护。
<p>
Copyright<sup>©</sup> NAME. All Rights Reserved. <?php echo date("Y"); ?>.
</p>
答案 2 :(得分:-2)
<frameset cols="25%,50%,25%">
<frame src="www.google.com">
<frame src="www.facebook.com">
<frame src="www.something.ocm">
</frameset>
HTML5不支持FRAMETAG! Beaware
在W3C验证中,它会抛出一个错误,但实际上它会起作用。