2

我有几个包含一组链接的静态 HTML 页面div。目前,当我编辑这组链接时,我必须在多个页面上进行相同的编辑。

div当我进行更改时,是否有更简单的方法来更新每个页面上的内容?也许我可以将它移动到一个单独的 HTML 文件并使用 jQuery 插入它?

4

3 回答 3

2

好吧,你真正需要的(如果你想继续使用 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'));
于 2013-02-09T10:51:43.040 回答
0

你可以使用 PHP

<div>link</div>

将此 div 保存为单独的文件。然后include('filepath');在每一页上都包含这个文件。所以当你想要编辑时,你只需要在主文件中编辑一次。

于 2013-02-09T10:53:53.850 回答
0

假设您在网站根文件夹中名为links.html的静态文件中有链接:

<div id="links">
   Your links.
</div>

有几种方法可以将此文件包含在另一个页面中;这里有三个最简单的。


使用 jQuery

使用起来非常简单jQuery.load

JS:

$('.add-links').load('/links.html');

HTML:

<div class="add-links"></div>

使用 SSI

首先,在您的服务器上启用 SSI(如果尚未启用)。(例如,这是在 Apache 、IIS6IIS7中设置 SSI 的方法。)接下来,在静态文件中需要的位置添加包含。

HTML:

<!--#include virtual="/links.html" -->

使用 PHP

假设 PHP 已正确安装并启用,告诉服务器将静态 HTML 文件解析为 PHP——例如,将扩展名.html.php. 您可以在它们需要出现的地方包括如下链接:

<?php include('/links.html'); ?>
于 2013-02-09T11:50:59.133 回答