2

在 HTML 中是否有这样一行代码可以与 PHP 的 require_once 做同样的事情?我只是好奇,因为我想通过多张纸复制一些代码行,而无需要求自己在每一页都输入。

我知道我可以通过 PHP 做到这一点,但我正在寻找一个 HTML 变体?有这样的野兽还是我吠错了树?

4

4 回答 4

4

这取决于您要包含的内容。包含 PHP 文件是不可能的,如果要包含 CSS 样式表,请使用:

<link rel="stylesheet" type="text/css" href="yourstylefile.css" />

对于 Javascript 文件

<script type="text/javascript" src="yourscriptfile.js"></script>

当然,您必须将该代码放在标题标签之间。

于 2012-01-27T21:10:59.773 回答
2

不,HTML 中没有包含机制。除非你算上 SSI。

编辑:等等,“床单”?你是说CSS?

于 2012-01-27T21:10:05.203 回答
1

是的,SSI 是最接近的。但是,有许多非服务器端的方法可以解决这个问题。一些 Web 开发应用程序具有 html 模板系统,可以在开发端复制服务器端包含的内容。例如,dreamweaver 允许您将可重复区域插入 HTML 模板。当您修改“包含”文件时,Dreamweaver 将修改所有使用该块的 HTML 文件。由于这不是一个真正的包含,而是一个 HTML 更新系统,如果您使用远程服务器,您必须重新上传这些文件,但如果您必须坚持使用纯 HTML,它可以使项目更易于管理和比使用 iframe 要好得多。

最后,还可以选择让 Javascript 构建重复的代码块。您可以简单地在每个页面上包含一个通用的 javascript 库,<script type="text/javascript" src="templater.js"></script>并让它在客户端构建元素(使用 innerHTML 调用或将元素插入 DOM)。这有一个明显的缺点

  1. 它需要Javascript才能工作
  2. 它可能会与 SEO 混淆
  3. 它可能会减慢页面加载速度(无论如何从客户端)

在服务器端语言中使用适当的包含当然是最好的方法,但在紧要关头,这些都是潜在的替代方案。

于 2012-01-27T21:31:07.277 回答
0

从技术上讲,您可以在页面上创建一个 iframe,它将加载和处理单独的页面,但它的功能不像 include 或 require 一次。对此,我知道没有其他选择。

于 2012-01-27T21:12:53.380 回答