gpt4 book ai didi

javascript - 我如何模块化静态 HTML 文件?

转载 作者:太空狗 更新时间:2023-10-29 14:09:31 25 4
gpt4 key购买 nike

我是一名前端开发人员。当我编写 html 代码时,我会通过复制和粘贴(页眉部分、页 footer 分等)重复自己的很多内容。

我如何编写模块化我的 html 文件?就像单独的 header.htmlfooter.html 一样,然后在 index.html 中调用它们...与 erbRuby on rails 中? (我不喜欢jade lang)

最佳答案

在 PHP 中我们会做这样的事情:

index.php

<?php
include 'inc/head.inc.php'; //DOCTYPE and <head> stuff
include 'inc/header.inc.php'; //NAV or other top-of-page boilerplate
?>

<div id="uniqueDIV">
//Your unique page-specific divs can go here
</div>

<?php include 'inc/footer.inc.php'; ?>

所以,在你的 head.inc.php文件,你只有通常的 DOCTYPE 和 <head>页面文件的一部分。

在 Ruby 中,等效指令类似于:

load "inc/head_inc.rb"  -- OR --
require_relative "inc/head_inc.rb"

https://practicingruby.com/articles/ways-to-load-code


另一种选择是使用一些 js/jQuery 来填充文档的各个部分。如果您没有 PHP,这是第二个最佳选择。 它不如 PHP 最优,因为 js/jQ 代码将在页面完全呈现后运行,这可能会在代码出现之前造成微小(但明显)的延迟。

例如:

html

<div id="navbarDIV"></div>

js/jQuery:

<script type="text/javascript">
$(function(){
$('#navbarDIV').load( 'inc/navbar.inc.html' );
});
</script>

请注意,您需要加载 jQuery 才能使用上述代码。就像您的 <head> 中的这一行一样简单:

<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

jsFiddle demo


最后注意:脚本标签可以包含在您的 <head> 中作为外部文件,或者它可以与其余的 html 一起放在文档中的任何位置。什么都行。但是<head>作为外部文件,或主体中的最后一个元素(也作为外部文件)是首选。

最后的最后说明:“.inc.”不需要命名约定,这只是我自己的做法。包含文件可以命名为 head.htmlhead.php或等等。

关于javascript - 我如何模块化静态 HTML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34577569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com