Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery.load()在内容之前加载页眉和页脚_Jquery_Html - Fatal编程技术网

如何使用jquery.load()在内容之前加载页眉和页脚

如何使用jquery.load()在内容之前加载页眉和页脚,jquery,html,Jquery,Html,我使用jquery.load()方法将页眉和页脚调用到不同的页面中。但是在加载页面时,页脚和页眉会延迟。也就是说,当我运行这个“我的内容…”时,只有标题显示在后面。我想同时显示页眉、内容和页脚加载。你能帮帮我吗 <html> <head> <script> $(document).ready(function() { $("#header").load("header.html")

我使用
jquery.load()
方法将页眉和页脚调用到不同的页面中。但是在加载页面时,页脚和页眉会延迟。也就是说,当我运行这个“我的内容…”时,只有标题显示在后面。我想同时显示页眉、内容和页脚加载。你能帮帮我吗

<html>
    <head>
        <script>
            $(document).ready(function() {
                $("#header").load("header.html");
                $("#footer").load("footer.html");
            });
        </script>
    </head>
    <body>
        <div id="header"></div>
        <div id="content">My content comes here...</div>
        <div id="footer"></div>
    </body>
</html>

$(文档).ready(函数(){
$(“#header”).load(“header.html”);
$(“#footer”).load(“footer.html”);
});
我的内容在这里。。。
“有延迟”

移除文档就绪包装,这将暂停,直到在DOM中呈现页面,然后再执行加载方法

现在,将脚本块从头移到DIV之后(就在/BODY之前),就像jqueryapi文档中提供的这个示例一样。。

尽管您可以按照Aaron H的建议使用jQuery,但会有延迟,因为您要从服务器打开三个HTTP流,一个用于正文,一个用于页眉和页脚

更好的答案是使用服务器端包含,这样页眉、内容和页脚就可以作为一个流交付,正如Justinas在对您的问题的评论中所建议的那样

一种方法是使用PHP:

<div id="header">
<?php include "header.html"; ?></div>

你的页脚也是如此。您必须将主文件的扩展名更改为“.php”,并在服务器上启用php才能工作

服务器端包含还有其他机制。最好的方法取决于您的web服务器环境

编辑添加:如果您考虑浏览器中发生的事情,它可能会帮助您解决此问题。如果使用客户端代码加载页眉和页脚,则在DOM中出现保存页眉和页脚的div之前,无法进行加载。因为它们是“main”文档的一部分,所以在客户端,您无法在主体之前加载标题。(嗯……您可能会制作一个shell文档,并动态加载正文内容,但这真是一团糟。)

此外,如果这就是您使用jQuery的全部目的,那么您将传输大量JavaScript,但没有从中获得多少工作。这确实是某种服务器端包含的工作

    setTimeout(function(){
         $('#content').load('content.php');
    },1);

setTimeout在指定的毫秒数后执行该函数。

它在Google Chrome(本地)上不起作用, 所以,如果您想运行这个文件,您可以使用FireFox,否则它将在服务器上运行

添加Jquery CDN

你好


$(文档).ready(函数(){
$(“#header”).load(“header.html”);
$(“#footer”).load(“footer.html”);
});
我的内容在这里。。。

你不能用JS做这件事。首先使用php
include
加载这些文件。您可以添加一些解释吗?
 <script type="text/javascript">
 $(document).ready(function(){
   $("#header").load("header.html");
   $("#footer").load("footer.html");
  });
 </script>
</head>
<body>
<div id="header"></div>
<div id="content">My content comes here...
</div>
<div id="footer"></div>
</body>