网站在php中加载gif
site-onload-gif within php
问题是,网站加载大约20秒或更长时间(用户问题已预先编程)我的解决方案是加载一个预站点,用户可以在其中看到加载屏幕。我在这个html网站上做了这件事,但我想在php中做同样的事情。测试页面为http://kater.selfhost.me/test/
源代码:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<script type="text/javascript">
window.onload = function() {
document.getElementById("siteLoader").style.display = "none";
document.getElementById("container").style.display = "block";
}
</script>
</head>
<body>
<div id="container" style="display:none">
<div id="body">
<iframe src="http://kater.selfhost.me/stats/skins.php" frameborder="0" height="2000px" width="1024px"></iframe>
</div>
</div>
<div id='siteLoader'>
<div id='siteDetailLoader'>
<img src='ajax_loader.gif' border='0'>
Please wait while the page loads...<br /> <br />
</div>
</div>
</body>
</html>
我尝试了一些变通办法,但在搜索&测试了大约三个小时,我放弃了。。。提前感谢您提供的任何帮助!:-D
添加了我在你的问题评论中所说的内容,我通过AJAX编写了一个加载此内容的代码:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$( document ).ready(function() {
//Load content
loadAjaxContent();
});
function loadAjaxContent()
{
//VERY IMPORTANT: the URL domain MUST HAVE be the same as your request
//that's why I'm not writting the full http://kater.selfhost.me/stats/skins.php
$.ajax({
url: "/stats/skins.php"
}).done(function(data) {
//remove loader
$("#siteLoader").hide();
//put PHP content
$("#ajaxContent").html(data);
});
}
</script>
</head>
<body>
<div id="body">
<div id="ajaxContent" style="width:1024px;"></div>
<div id='siteLoader'>
<div id='siteDetailLoader'>
<img src='ajax_loader.gif' border='0' />
Please wait while the page loads...<br /> <br />
</div>
</div>
这是在web中加载异步内容最常用的方法。但请注意:http://kater.selfhost.me/stats/skins.php
页面被设置为在web中作为单个页面打开,因此它有<html>
、<head>
、<body>
等标签,因此……将此页面加载到另一个页面后,您将有两个<html>
、<body>
。。标签在同一个页面中,这很糟糕,但现代浏览器有一个很棒的常识,不需要为此烦恼,但你应该知道这一点,并意识到这一点。
它还没有加载的实际问题是,你的内容中有这样的javascript:
<script type="text/javascript"><!--
EXref="";top.document.referrer?EXref=top.document.referrer:EXref=document.referrer;//-->
</script>
我去掉了它,现在工作得很好。记住,这是一个快速的解决方案,我不知道这个JS做什么。
为什么它能在<iframe>
中工作而不能通过AJAX?当您在<iframe>
中打开时,就像在新的浏览器窗口中打开一样。。正如我所说,通过AJAX,它将直接在"父"页面中加载页面内容。
因此,删除这个Javascript将起作用,但令人敬畏的进一步解决方案:
如果你需要打开这个页面,既作为要加载的内容(通过AJAX),也作为一个页面,你可以制作两个页面。。每个需求一个。
如果您只想用作要加载的内容,请删除
<html>
、<head>
等标记,并修复Javascript以在另一个页面中工作。
- 如何在onclick事件执行代码时在ImageButton上设置加载gif
- Ajax 加载 GIF 不会在成功时删除
- 加载 gif 图像未显示在 IE 和镶边中
- 单击时重播 GIF 动画/重新加载 GIF
- 是否可以在页面开始加载之前显示加载gif/image
- 网站在php中加载gif
- 在页面加载时重新加载gif图像
- Javascript使用加载gif的最简单/最优雅的方式
- 只想在页面上未加载初始数据时显示加载gif
- 鼠标离开后强制重新加载gif
- 动画加载gif与iframes加载
- 使用 AJAX 加载其他页面时加载 GIF 图像
- 导航时加载 GIF 图像
- 如何在页面加载时异步加载图像并在加载时显示加载 GIF
- 在 AJAX 完成时加载 GIF
- 如何在请求进入 Ajax 时显示加载 gif
- 显示加载.gif同时使用 jQuery 上传文件
- Javascript - 加载GIF冻结,同时将图像绘制到画布(Phonegap/Cordova)
- JavaScript 在 Iframe 加载时显示加载 gif
- 继续加载.gif在操作 DOM 时进行动画处理