好的,所以在我的主页上我正在做一个用户名和密码检查,然后我使用jquery document.location将你发送到一个登录的页面说安全.php ....虽然这有效,它会发送给你首先是secure.php,然后是图像开始加载......我怎么能这样做,它加载整个页面,然后发送给你secure.php
示例: -
$.ajax ({
url: loginCheck.php,
type: 'POST',
data: username + password ,
success: function (check){
if(check==1)
document.location= /loginpage/secure.php
else alert(invalid username or pass)
}
});
答案 0 :(得分:1)
编辑:我现在正在替换我的整个问题,因为我明白你要做什么。在secure.php中,将所有代码放在包含div中,如下所示:
<body>
<div id="contentContainer">
<!-- content goes here -->
</div>
</body>
设置隐藏#contentContainer
的样式:
#contentContainer {
display: none;
}
添加window.onload
处理程序以显示div。与onready
不同,onload
在加载所有内容(包括图像)之前不会被调用。
$(window).load(function() {
$("#contentContainer").show();
});
您可能希望与“加载”div相反地执行相同操作,并显示“loading ...”消息。即,最初显示它,并将其隐藏在onload处理程序中。
编辑:您可以通过在上一页的隐藏div中预加载图片来加快页面加载。
Home.php
<div class="preloader">
<img src="..." />
...
</div>
.preloader {
display: none;
}
Secure.php应该使用缓存的图像加载。
答案 1 :(得分:0)
......这让我觉得非常不安全,但是很好。
除非你在jQuery中构建一个metaframework,其中所有页面加载都在“shell”中执行,然后只在准备渲染时显示,答案是,我很确定,你不能。
页面具有明确的生命周期。 jQuery和AJAX有点模糊了这一行,但页面加载是一个控制脚本的单一事件。加载页面会使您用来加载页面的脚本消失。