如何在页面的其余部分加载后强制加载php include?

时间:2012-08-08 05:08:53

标签: php javascript jquery ajax

所以我确定自己有点过头了。我对通过html和css的任何代码都很新,我决定深入研究javascript作为我的第一次尝试。我收到了很多很好的反馈意见,虽然很多反馈都得到了帮助,但实际上已经超出了我的想法。

从本质上讲,我所做的是用两个php页面制作一个画廊:第一个是我网站上的一个页面,带有一个滑动缩略图窗口和一个“通用”字段,用于加载艺术作品和可变内容。第二个是一个gallery.php页面,其中所有潜在的艺术作品都分为div,其中包括艺术,标题,描述等等。当选择其中一个缩略图时,它会从gallery.php页面调用div,并使用.innerHTML将其填充到“generic”div中。这个工作正常但是因为我在gallery.php页面中有40多个div,所以它是一个标准的php包含(在一个隐藏的div中,因此看不见)会使页面永远加载,这并不理想。

因为我对所有事情都很陌生,所以我开始的时候真的很慢,并且只是因为我试图先把握它的javascript来避免jquery。有一天,当我在jquery中找到.load()函数时,我提出了这个问题,我想知道是否有办法在直接的javascript中写出来,而我没有收到任何版本的具体我得到了关于如何在ajax中做到这一点的详细回复,这有点过头了。

我的查询基本上是以下可能的情况之一: - 希望最简单的解决方案......有一种方法加载页面上的所有内容,然后只有加载页面后告诉页面开始加载包含的gallery.php页面的内容,这样我就不会减慢页面的速度加载时间,如果有什么只是减慢我点击图库内容的加载时间? - AJAX是从另一个页面调用div的最基本方式吗? - 如果有一种方法可以将源定义为单独的php页面,我可以告诉它拉出我定义的div吗? - 如果我要折叠并包含.load()jquery函数,我该如何返回我正在寻找的div?

我不是在寻找所有这些的答案,当然,如果有任何建议的解决方案,请告诉我。

1 个答案:

答案 0 :(得分:0)

作为预加载内容的简便方法,我建议使用隐藏的iframe。这样,您的资源将在客户端加载和缓存,但您不必担心AJAX。为了确保在缩略图之后加载iframe的内容,您可以使用纯JavaScript创建它,并将其附加到文档加载事件。关于addEventListener的详细信息,请参阅"MDN: element.addEventListener"

window.addEventListener("load", function(){

    var iframe = document.createElement("IFRAME"); 
    iframe.setAttribute("src", "galery.php"); 
    iframe.style.display = "none"; 
    document.body.appendChild(iframe);

}, false);