0

我有一个获取推文并回显它们的 php 脚本。问题是页面需要一些时间来加载。

有没有办法我可以首先加载页面,当推文准备好时,用推文编辑页面?

4

4 回答 4

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);

}
于 2012-10-28T16:55:20.470 回答
0

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

于 2012-10-28T16:48:32.820 回答
0

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

于 2012-10-28T16:54:04.560 回答
0

听起来 PHP 并不是真正需要的。我会选择像 Chirp.js 这样的 javascript 选项;正如刚才提到的。

但是,如果您不喜欢使用 PHP(也许您在脚本中内置了其他功能?)我会选择 jQuery/AJAX 路线。

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

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

也许如果您发布了您的 PHP 脚本或告诉我们您的服务器设置,我们也许能够解决真正的问题 -为什么 PHP 脚本需要这么长时间才能执行?这可能是问题中最有趣的部分,因为您可能做错了一些事情,这可能会导致稍后在生产中出现问题。

于 2012-10-28T16:55:52.657 回答