网站中的静态内容

时间:2012-07-13 08:28:26

标签: javascript html css ajax

我有一个网站,我想把它的一部分静态化。会发生的是页眉,菜单栏和页脚在每个页面中都是一致的。我希望它们总是被加载,当我点击菜单按钮时,它只会重新加载网站的主体。

是否有一个简单的代码可以尽早实现这一目标? js或ajax中的东西?对不起,但是我没有足够的经验来掌握这些语言来自己完成一些事情。我已经尝试检查jQuery库,但它仍然让我很困惑。

谢谢。

7 个答案:

答案 0 :(得分:1)

只需在每个页面添加一个带有标题,菜单栏和页脚ID的div容器,然后加载它:

$(document).ready(function(){ 
    $('#header').load('header.html');
    $('#menubar').load('menubar.html');
    $('#footer').load('footer.html');
});

只需确保html文件中没有html,head或body标签,只需要在div中编写的HTML代码。它就像PHP中的include函数一样。

修改

为了简单而简单的实现,将上面的代码存储在.js文件(例如include.js)中,并在html文件的所有其他脚本的包含下方的每个头中添加它:

<script type="text/javascript" src="include.js"></script>

<强> EDIT2:

另一种解决方案是加载页面内容而不是标题,菜单栏,页脚。 在这里你采用相同的规范(内容html文件中没有html,body等标签)

为您的内容div命名,例如<div id="content"></div>

您的导航栏例如:

<div id="navbar">
    <a href="content1.html">Content1</a>
    <a href="content2.html">Content2</a>
</div>

JavaScript代码:

$(document).ready(function() {
    //Click on a link that's child of the navbar
    $('#navbar > a').click(function() {
        //Get the html file (e.g. content1.html)
        var file = $(this).attr('href');
        //Load this file into the #content
        $('#content').load(file);
        return false;
    });
});

答案 1 :(得分:1)

我认为你甚至不需要Ajax或CSS!只需使用iFrames !!它们非常棒,所发生的是你只设计一个页面作为静态内容的持有者(Header-Menu ...)并将一个iFrame放在那里作为你要加载的任何页面的占位符,你应该使用正确的css代码将iFrame放置在您想要的位置,现在,对于菜单中的每个链接,只需设置&#34; target&#34;属性等于您的iFrame的名称,所有链接都将加载到该iFrame中,并且您的页面不会在每次链接点击时重新加载...我将返回一些代码...

答案 2 :(得分:0)

您应该考虑使用包含服务器端:http://httpd.apache.org/docs/current/howto/ssi.html

它不是很容易理解(因为它指的是apache配置),但这是一个非常好的解决方案。

简而言之,您在主页中包含了部分html代码:

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

您不必使用或理解所有JQuery Framewol,用户代理也不必解析(如果他们能够!)Javascript。

出于这种目的,这是PHP / ASP / Java的非常好的替代品。

答案 3 :(得分:-1)

您可以使用ajax来请求每个页面的正文。但这只是一种可能性 - 有很多。另一种方法可能是使用脚本语言(php,perl)serverside创建页面内容,并使用一个函数,在每个页面中添加页脚,页眉和其他任何内容。

答案 4 :(得分:-1)

如果您对Jquery有所了解,那么可以在菜单链接上使用click事件来加载div中的页面,如下面的语法可能对您有帮助。

$(document).ready(function(){
   $("a.menu").click(function(){
      $("#bodyContent").load("http://abc.com/your-linked-page.html");
   });
});

要动态加载网址,请使用以下代码: 在菜单栏中,链接如下所示:

<a href="javascript:void(0);" title="Specify-Complete-URL">Home</a>

在你的Jquery代码中:

$(document).ready(function(){
   $("a.menu").click(function(){
      url = $(this).attr("title"); // here url is just a variable
      $("#bodyContent").load(url);
   });
});  

步骤1:将Jquery文件添加到您的html页面。

第2步:使用上面的jquery代码并将菜单链接更改为我在此处所说的新内容。

第3步:如果你做得对,它会对你有用。

答案 5 :(得分:-1)

传统的iframe怎么样?

在您的菜单中:

<a target="body" href="URL_to_your_Menu1_page">Menu1</a>

然后在文件中进一步说明:

<iframe name="body" src="URL_to_homepage"></iframe>

答案 6 :(得分:-2)

您可以使用框架集和框架并相应地组织您的页面。因此,包含菜单的框架始终可以显示,而在单击菜单时显示内容,可以将目标设置为您要加载内容的框架。