我有一个 HTML5 的 WebApp。
这是链接
我想异步加载整个网页。就像访问网页时一样,我想向用户显示加载图像,并且页面在后台以异步模式完全加载。我尝试异步加载脚本,但它并没有太大影响它的行为。
有没有办法做到这一点!
我有一个 HTML5 的 WebApp。
这是链接
我想异步加载整个网页。就像访问网页时一样,我想向用户显示加载图像,并且页面在后台以异步模式完全加载。我尝试异步加载脚本,但它并没有太大影响它的行为。
有没有办法做到这一点!
渲染一个只有加载图像作为背景设置的空主体......在头部你有一个脚本标签,它对dom准备好进行ajax调用并加载所需的内容......
编辑:所需的内容当然应该包含所需的所有其他标记和脚本标记......然后用响应更新正文
document.body.innerHTML = request.responseText;
编辑 2:我建议用本机 javascript 编写该头脚本,因为您只需要小于 1kb 即可对定义的 url 进行干净(甚至跨浏览器 ajax 工作)调用......在您的 ajax 响应中,您可以确定什么都不会被覆盖或加载两次(如果加载库,可能还有 ajax 功能)
尝试使用与 Tobias Krogh 建议的方法相同的方法。
但不是通过使用普通的旧 JS 将内容放入#main
document.body.innerHTML = request.responseText;
使用 Jquery 使用 .html() 将内容放在正文中
$("body").html(request.responseText);
编辑:并使用 JS 加载器加载 CSS 和 JS。可能的 Lazyload或YepNope,以异步加载它们。那应该做的工作!
您可以通过在您的 css 中设置某种带有 loader 的覆盖层来做到这一点,该覆盖层是可见的(起初),稍后在您的页面完全加载后,使用 javascripting 删除覆盖层(淡出)...
当然,您应该制作某种回调函数以在页面的最后一个元素加载后删除覆盖(或在加载最后一个元素后调用它的脚本)