【问题标题】:Is there a HTML variant of require_once?是否有 require_once 的 HTML 变体?
【发布时间】:2012-02-20 20:14:12
【问题描述】:

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

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

【问题讨论】:

  • HTML 没有 any 机制来做包含。为此,您需要 SSI、PHP 或其他一些内嵌脚本技术。或者你可以在使用 JavaScript 时啜饮一些东西,并在那里实现你的 require_once 功能。但这不是 HTML。
  • 这个问题有什么问题?
  • 必须有一个 HTML 等价于 require first...
  • 我第二个 jeroen 的问题:为什么对这个问题投反对票? -2 似乎并不值得。 +1 恢复平衡!
  • ...不过,我可以看到有些人可能会反对使用模棱两可的词“床单”和使用require_once 而不是require(这似乎是个问题)

标签: php html require-once


【解决方案1】:

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

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

对于 Javascript 文件

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 不,对不起,我的意思是页面,我工作时间很长,并且患有偏头痛,我当时记不起正确的术语。我的意思是页面,而不是工作表。
    【解决方案3】:

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

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

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

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2021-12-06
        • 2019-06-15
        • 2016-02-26
        • 2011-02-10
        • 1970-01-01
        • 2011-05-12
        • 2014-04-27
        • 1970-01-01
        相关资源
        最近更新 更多