我有一个获取推文并回显它们的 php 脚本。问题是页面需要一些时间来加载。
有没有办法我可以首先加载页面,当推文准备好时,用推文编辑页面?
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);
}
试试 Chirp.js,这是一个非常好的用 Javascript 加载推文的库:http: //lab.rog.ie/chirp/
我会使用 AJAX,但另一种方法是创建一个 iframe,它使用您的 twitter 代码并将文件标记为其源
听起来 PHP 并不是真正需要的。我会选择像 Chirp.js 这样的 javascript 选项;正如刚才提到的。
但是,如果您不喜欢使用 PHP(也许您在脚本中内置了其他功能?)我会选择 jQuery/AJAX 路线。
这应该最大限度地减少任何布局问题,同时在脚本加载时仍提供一致的用户体验。由于 $.AJAX() 是异步的 - 页面上的任何功能都不会被阻止,而不是当前页面甚至不显示的问题!当然,唯一的缺点是推文仍然需要时间来加载。
也许如果您发布了您的 PHP 脚本或告诉我们您的服务器设置,我们也许能够解决真正的问题 -为什么 PHP 脚本需要这么长时间才能执行?这可能是问题中最有趣的部分,因为您可能做错了一些事情,这可能会导致稍后在生产中出现问题。