在HTML中包含选项

时间:2014-02-22 03:51:49

标签: php html css include

我正在使用类似于此网站和谷歌的导航栏,并且我想说我想制作更多具有相同布局的网站。我将如何使用html进行此操作?我知道php有:

<?php include  "file name"; ?>

有没有办法在HTML文档中做类似的事情?

3 个答案:

答案 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>&copy;</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验证中,它会抛出一个错误,但实际上它会起作用。