为什么<! - #include file =“top.shtml” - >不起作用?

时间:2015-03-26 01:41:43

标签: html include

我不明白为什么命令在下面的情况下不起作用。

代码中列出的文件与包含.html代码的文件位于同一目录中,但我想要包含的文件将不会加载(至少在我在Chrome中打开文件时不会加载)。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<link href="helper.css" media="screen" rel="stylesheet" type="text/css">

<link href="dropdown.vertical.css" media="screen" rel="stylesheet" type="text/css">
<link href="default.css" media="screen" rel="stylesheet" type="text/css">

    <body>
<!--#include file="top.shtml"-->
<!--#include file="sidemenu.shtml"-->           
      <h1>   Name </h1>  

      <h2>Title </h2>

</body> 
</html>

我读到我要加载的文件应该更改为我所做的.shtml文件,但它似乎没有用。这里有点新手所以我可能只是不理解某些东西。一个问题是,如果它正常工作,如果我在谷歌浏览器中打开文件,我是否应该看到它有效,或者它实际上是否必须在服务器上作为代码才能工作的网页?

1 个答案:

答案 0 :(得分:0)

Server-side scripting languages ,例如您在代码中使用的SSI - 以及PHPASP以及更多内容都已执行服务器。 “Chrome”只是一个网络浏览器,并不执行服务器端指令。

以下是它的工作原理:

  • 您将资源请求发送到服务器(在您的情况下,SHTML文件的请求可以通过在浏览器的地址栏中输入URI),
  • 服务器获取请求并执行某些过程,例如执行指定的指令(如在您的情况下,执行#include指令),
  • 最后,服务器将响应(在您的情况下作为HTML文件)返回给客户端 - 即Web浏览器 - 进行呈现。