如何在没有javascript的情况下显示页面加载?

时间:2011-04-26 16:54:20

标签: php usability

我正在为没有启用javascript的用户重新构建我们的网站(我们的访问者比例非常高)。

在不使用javascript的情况下向用户显示正在加载某些内容的最佳方法是什么。

背景:我们的登录必须在登录某人之前搜索电子邮件服务器,有时需要5-10秒,有时最多20秒。

当前的想法:我应该使用一个新按钮重新加载着陆页,该按钮说明加载和加载器图标,然后将其重定向到实际使用标题登录的页面

刚才意识到我无法做到这一点,因为php reload必须在页面上显示任何内容之前。

有什么想法吗?也许有我可以使用的onclick CSS?

我可以创建一个隐藏的表单,然后在操作完成后提交w / php表单吗?

3 个答案:

答案 0 :(得分:0)

浏览器通常不会在显示之前等待接收整个页面。因此,您的脚本可以回显页面标题和页面的开头,并显示一条消息,告知等待页面完成加载,然后根据身份验证的成功与否显示页面的其余部分。最后,可能会有一个javascript重定向,为没有激活javascript的人提供备用重定向链接。

您也可以尝试使用meta refresh tag。每次重新加载页面时,脚本都可以检查身份验证是否已完成。

答案 1 :(得分:0)

在“传统”意义上弹出一个旋转的“加载”图标是不可能的,因为javascript是操作当前页面而不刷新的唯一方法。 CSS仅用于演示,并且无法知道是否已单击按钮。如果你的大多数用户都使用IE浏览器,那么无论如何都不会有更多'高级'CSS功能正常工作。

所有这些都说,你最初的想法会起作用(进一步思考,也许不是吗?)。使用带有加载图标和“请等待”文本的登录页面,其中包括登录逻辑,然后使用元刷新(或302重定向)重定向到网站本身,超时为20秒(或近似最大值)记录某人的价值。)

将此与Charles答案相结合可能会奏效。使用基本加载页面显示20秒超时元刷新标题,然后在源文件中显示下面的登录PHP。

答案 2 :(得分:0)

没有javascript重新加载你可以使用元刷新

<meta http-equiv="refresh" content="5;url=http://example.com/">

登录表单会将用户重定向到某个带有加载消息和加载器图标的页面,例如,5秒后将加载真实的URL 在这5秒之后,如果登录过程尚未完成(服务器端脚本中有一些if-else逻辑),将继续显示包含加载消息和加载程序图标的页面

没有javascript你仍然可以做很多事情,但它更棘手 甚至有一些ajax-without-javascript技术...