Html 一个下拉菜单来控制它们

Html 一个下拉菜单来控制它们,html,css,Html,Css,是否可以创建一个下拉菜单,而不是在每个页面上复制相同的代码?使用框架是解决这个问题的一个好方法?我认为创建一个只包含菜单的html页面,并且它的链接都是绝对的URLs可能是一个解决方案,尽管@Igor Ivancha是对的,解决方案是使用后端,这是通常的做法 假设您拥有html页面: <nav id="godmenu"> <ul> <li><a href="http://yourdomain.com/page1.html">page

是否可以创建一个下拉菜单,而不是在每个页面上复制相同的代码?使用框架是解决这个问题的一个好方法?

我认为创建一个只包含菜单的html页面,并且它的链接都是绝对的
URL
s可能是一个解决方案,尽管@Igor Ivancha是对的,解决方案是使用后端,这是通常的做法

假设您拥有html页面:

<nav id="godmenu">
   <ul>
     <li><a href="http://yourdomain.com/page1.html">page1</a></li>
     <li><a href="http://yourdomain.com/page2.html">page2</a></li>
     <li><a href="http://yourdomain.com/page3.html">page3</a></li>
   </ul>
</nav>
这会反过来将页面的特定部分加载到另一个页面中


我认为这是最好的解决方案。

我认为创建一个只包含菜单的html页面,并且其链接都是绝对的
URL
s可能是一个解决方案,尽管@Igor Ivancha是正确的,解决方案将使用后端,这是它通常的做法

假设您拥有html页面:

<nav id="godmenu">
   <ul>
     <li><a href="http://yourdomain.com/page1.html">page1</a></li>
     <li><a href="http://yourdomain.com/page2.html">page2</a></li>
     <li><a href="http://yourdomain.com/page3.html">page3</a></li>
   </ul>
</nav>
这会反过来将页面的特定部分加载到另一个页面中


我相信这是最好的解决方案。

用iframe引用自己的站点是很奇怪的,而且可能会带来意想不到的行为

您可能需要的是部分渲染,这是一个许多前端和后端框架都采用的概念

如果您的站点是静态的,并且没有服务器端渲染,那么可以使用JS在客户端进行渲染。穷人使用jquery的部分渲染器可能如下所示:

$(函数(){
$(“[渲染部分]”)。每个(函数(i,el){
变量
$el=$(el),
partialName=$el.attr(“呈现部分”),
分部=$(“分部[名称='”+partialName+“]]);
$el.append(partial.html());
})
});
部分{显示:无;}
.red{背景色:red}
.番茄{背景色:番茄}


用iframe引用自己的站点很奇怪,可能会带来意外行为

您可能需要的是部分渲染,这是一个许多前端和后端框架都采用的概念

如果您的站点是静态的,并且没有服务器端渲染,那么可以使用JS在客户端进行渲染。穷人使用jquery的部分渲染器可能如下所示:

$(函数(){
$(“[渲染部分]”)。每个(函数(i,el){
变量
$el=$(el),
partialName=$el.attr(“呈现部分”),
分部=$(“分部[名称='”+partialName+“]]);
$el.append(partial.html());
})
});
部分{显示:无;}
.red{背景色:red}
.番茄{背景色:番茄}


您是否只寻找前端解决方案?在后端,是的,你可能会使用一个预编译器,比如,包含来自其他文件的部分。你必须在“不复制同一段代码”中添加说明。如果你使用模板,你只需要添加/包含它,并为你正在使用的每个网页添加一个处理导航(仅此!)的脚本。我不使用模板。我的意思是你有2页。我没有一次性为菜单编写代码,而是将代码放在我制作的两个页面的开头。你是在寻找唯一的前端解决方案吗?在后端,是的,你可能会使用一个预编译器,比如,包含来自其他文件的部分。你必须在“不复制同一段代码”中添加说明。如果你使用模板,你只需要添加/包含它,并为你正在使用的每个网页添加一个处理导航(仅此!)的脚本。我不使用模板。我的意思是你有2页。我没有一次性为菜单编写代码,而是将代码放在我所做的两页的开头。
$("div").load("http://yourdomain.com/menu.html #godmenu");