嵌入式PHP在HTML中慢速加载页面

时间:2012-10-28 16:45:06

标签: php html twitter

我有一个PHP脚本,可以获取推文并回复它们。问题是页面需要一些时间来加载。

有没有办法可以先按原样加载页面,当推文准备好后,用推文编辑页面?

4 个答案:

答案 0 :(得分:1)

document.readyState属性可用于检查您的页面是否已加载。

if(document.readyState === "complete") {
  //Already loaded!
}
else {
      //Add onload or DOMContentLoaded event listeners here: for example,
      window.addEventListener("onload", function () {

          /*   you may use ajax to get the tweet contents like this. */
      xmlhttp.onreadystatechange=function()
              {
              if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
                }
              }
            xmlhttp.open("GET","tweetsPage.php",true);
            xmlhttp.send();

    }, false);

}

答案 1 :(得分:0)

尝试使用Chirp.js,这是一个非常好的库,用于使用Javascript加载推文:http://lab.rog.ie/chirp/

答案 2 :(得分:0)

我会使用AJAX,但另一种方法是创建一个使用您的推特代码并将文件标记为其来源的iframe

答案 3 :(得分:0)

听起来像PHP并不是真的需要。我会选择像Chirp.js这样的javascript选项;如上所述。

但是,如果你已经开始使用PHP了(也许你在脚本中内置了其他功能?)我会选择jQuery / AJAX路径。

  • 有一个占位符div - 设置CSS以确保它不会破坏布局,并有一个加载图像或类似。
  • 运行$ .AJAX()请求到PHP脚本,然后直接将请求的结果输出到占位符div

这应该最小化任何布局问题,同时在脚本加载时仍然提供一致的用户体验。因为$ .AJAX()是异步的 - 页面上的任何功能都不会被阻止,而不是当前页面甚至不显示的问题!当然,唯一的缺点是推文仍然需要时间来加载。

也许如果您发布了PHP脚本或告诉我们您的服务器设置,我们可以解决实际问题 - 为什么PHP脚本执行这么长时间?这可能是问题中最有趣的部分,因为你可能会做错误的事情,这可能会在以后的生产中导致问题。