我有几个包含一组链接的静态 HTML 页面div
。目前,当我编辑这组链接时,我必须在多个页面上进行相同的编辑。
div
当我进行更改时,是否有更简单的方法来更新每个页面上的内容?也许我可以将它移动到一个单独的 HTML 文件并使用 jQuery 插入它?
好吧,你真正需要的(如果你想继续使用 Javascript,没有 PHP)是模板(我可以推荐你mustache.js)
然后,您的代码将如下所示:
var data = {
links: [
{ url: "http://",
text: "Lorem"},
{ url: "http://",
text: "Ipsum"}
]};
var template = "<ul>{{#links}}" +
"<li><a href="{{url}}">{{text}}</a></li>" +
"{{/links}}</ul>";
var html = Mustache.to_html(template, data);
$('#DIV_CONTAINING_MENU').html(html);
当然,你可以用 jQuery(甚至 javascript)做同样的事情:
var data = [
{url: 'http://', text: 'Lorem'},
{url: 'http://', text: 'Ipsum'}
];
$ul = $('<ul></ul>');
for(var i=0,c=data.length;i<c;i++){
$ul.append('<li><a href="'+data[i].url+'">'+data[i].text+'</a></li>');
}
$ul.appendTo($('#DIV_CONTAINING_MENU'));
你可以使用 PHP
<div>link</div>
将此 div 保存为单独的文件。然后include('filepath');
在每一页上都包含这个文件。所以当你想要编辑时,你只需要在主文件中编辑一次。
假设您在网站根文件夹中名为links.html的静态文件中有链接:
<div id="links">
Your links.
</div>
有几种方法可以将此文件包含在另一个页面中;这里有三个最简单的。
使用起来非常简单jQuery.load
。
JS:
$('.add-links').load('/links.html');
HTML:
<div class="add-links"></div>
首先,在您的服务器上启用 SSI(如果尚未启用)。(例如,这是在 Apache 、IIS6和IIS7中设置 SSI 的方法。)接下来,在静态文件中需要的位置添加包含。
HTML:
<!--#include virtual="/links.html" -->
假设 PHP 已正确安装并启用,告诉服务器将静态 HTML 文件解析为 PHP——例如,将扩展名.html
从.php
. 您可以在它们需要出现的地方包括如下链接:
<?php include('/links.html'); ?>