【问题标题】:HTML reusing componentsHTML 重用组件
【发布时间】:2014-08-07 18:55:24
【问题描述】:

我有一个要在多个页面上重复使用的 HTML 组件。为了优雅,我想重用组件而不是复制和粘贴它。

这是一个棘手的问题,在我的搜索中我发现了this 帖子,它只是说这在纯 html 中是不可能的。但后来我也找到了this 的帖子,看来它完全可以完成我想要的。
那么,哪一个是对的呢?

作为参考,这是我尝试重用的组件:

<div id="topbar" class="container">
    <div class="test1">
        <p> Style1
    </div>

    <div class="test2">
        <p> Style2
    </div>

    <div id="test3">
        <p> Style3
    </div>
</div>

【问题讨论】:

  • 那个说你可以提供代码,所以这很容易自己测试。
  • 大多数开发人员使用带有服务器端包含的服务器端语言。第二个不是纯 html,它是 JavaScript。
  • 把它放在一个单独的 HTML 文件中并使用 Jquery load() 方法。 api.jquery.com/load
  • @Quentin 这不仅仅是关于这两个示例的问题,而是关于* html 中组件重用的更广泛的问题。从我提到优雅的角度来看,我希望能得到良好编码实践的提示,但实际上我对任何事情都很满意。
  • @epascarello — 第二个使用对象元素,它是纯 HTML

标签: html


【解决方案1】:

纯 html 没有可重用的组件架构,但有多种选择。

  • jQuery:您可以执行加载,从文件中获取 HTML 片段并将其嵌入到您的页面中。
  • Angular.Js:您可以创建一个自定义指令,其行为类似于 HTML 标记,但呈现为您的 HTML 片段
  • 服务器端包含:如果您的服务器中包含此功能,那么您可以实现此功能。
    • ASP:&lt;!--#include file="my fragment file name"--&gt;
  • 服务器代码执行:与服务器端包括一样,如果您在支持 PHP、ASP、Ruby、ASP.NET 或其他几种语言之一的服务器上运行,您可以让它们将代码嵌入到您的 HTML 中服务器。
    • ASP.NET C#:@MyStringVariable
    • PHP:include("my fragment file name");

您的问题是进入庞大的软件工程和网络开发世界的第一个问题。

【讨论】:

    【解决方案2】:

    你可以使用服务器端语言来做到这一点,所以如果你使用 PHP 你可以做到这一点

    include("MyMarkup.php");
    

    或者如果你使用 ASP,你可以这样做

    <!--#include file="includefile.asp"-->
    

    【讨论】:

    • +1 表示可行的解决方案(我也不喜欢有人在没有评论 D 的情况下对此投反对票:
    猜你喜欢
    • 2014-02-01
    • 2018-10-29
    • 2011-02-14
    • 2021-01-29
    • 2021-09-17
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    相关资源
    最近更新 更多