等待页面准备好后再显示
Wait for a page to be ready before showing it
我很确定这是不可能的,但我可能错了。我曾被要求暂停一个网页,直到另一个网页准备好,然后再显示后者。
例如,考虑有一个链接到pageB.html的pageA.html。pageB有一些创建页面的jScript(实际上是GWT,但假装你不知道)。
用户希望继续显示pageA,直到pageB准备好显示为止。可以把这两页分开吗?
你可以看看AngularJS。(SPA =单页申请)。您可以在当前页面中加载新视图("页面"),并显示加载器或当前页面,直到加载完成。
您可以使用jQuery $(window).load(function(){});
并在现有页面上创建一个覆盖。
。用户加载页面A,你有一个覆盖立即可见阻止页面的可见性。当加载事件被触发时,你可以移除覆盖层。
这与你所要求的略有不同,但可能是一种方法。
JS提琴示例
您可以一直检查url,直到页面存在。这意味着您想要重定向到的页面还不存在,将在某个时候创建。
链接可以是
<a href="javascript:;" onclick="delayRedirectTo('my-generated-page.html');">link text</a>
然后在delayRedirectTo
函数中包装一些逻辑。
function delayRedirectTo(path){
var xhr = new XMLHttpRequest();
xhr.onreadystatechange=function(){
// Status will only be 200 when the page exists
if (xhr.readyState==4 || xhr.status == 200)
{
// Redirect to page.
window.location.href = path;
}
}
window.setInterval(function(){
xhr.open("GET",path,true);
xhr.send();
}, 5000); // check every 5 seconds.
}
可以使用Javascript和AJax
JS on pageA.html
<script>
function loadPageB(){
var html = document.getElementById("html");
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
html.innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","pageB.html",true);
xmlhttp.send();
}
</script>
HTML页面
<!-- some code here -->
<input type="button" value="go to PageB" onclick="loadPageB()"/>
<!-- some code here -->
在上面的例子中,点击按钮后,它将加载pageB.html
相关文章:
- 在jquery文档准备好之前加载Modernizr
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- Electron:Express.js服务器在Mongo数据库'It’准备好了
- 从Document调用onchange函数.已准备好从更新中预先选择的项目
- jquery触发器可以从点击开始工作,但没有准备好
- 我怎么知道Jqgrid已经准备好了
- Javascript+HTML中的日期选择器准备好了吗?(需要:DD、MM、YY的单独字段加上日历选择器)
- 创建元素更好还是只在html上准备好它们
- 如何移除预先准备好的容器
- 加载直到图像准备好,而图像隐藏直到它准备好
- 将参数传递到准备好文档的.js文件
- 如何一次插入两个表?准备好的发言
- 杜兰达尔.js文件准备好了
- $().bind 在未准备好文档的情况下无法正常工作
- 在谷歌地图准备好之前显示预装程序-AngularJs
- 如何避免在文档准备好之前显示所有记录
- Angular.js显示加载动画,直到DOM准备好
- Android Webview在后台加载,准备好时显示
- 用javascript预加载图像并在准备好时显示
- 等待页面准备好后再显示