Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML:;请稍等;加载带有重定向、跨浏览器、符合标准的页面_Html_Redirect - Fatal编程技术网

HTML:;请稍等;加载带有重定向、跨浏览器、符合标准的页面

HTML:;请稍等;加载带有重定向、跨浏览器、符合标准的页面,html,redirect,Html,Redirect,我有一个常见的问题,就是用HTML实现一个“请稍候,处理您的请求”页面,以便在处理长时间运行的任务时向用户显示。具体来说,我正在创建一个订单并用信用卡结算 目前,我首先加载PleaseWait.html,其中显示一条消息和一个微调器,它直接重定向到Process.html,由Process.html进行处理。一旦Process.html完成,它将重定向到Complete.html 我试图做到这一点,完全跨浏览器,并遵循所有的建议。这意味着应避免使用以下技术: Javascript重定向,因为用

我有一个常见的问题,就是用HTML实现一个“请稍候,处理您的请求”页面,以便在处理长时间运行的任务时向用户显示。具体来说,我正在创建一个订单并用信用卡结算

目前,我首先加载PleaseWait.html,其中显示一条消息和一个微调器,它直接重定向到Process.html,由Process.html进行处理。一旦Process.html完成,它将重定向到Complete.html

我试图做到这一点,完全跨浏览器,并遵循所有的建议。这意味着应避免使用以下技术:

  • Javascript重定向,因为用户可能已禁用脚本
  • 元刷新,因为这是不鼓励/不推荐的,我认为一些浏览器也允许用户禁用它
  • 发送HTTP 301响应,因为这会导致浏览器(至少IE)根本不呈现“请等待”页面
  • 使用隐藏的iframe来保存Process.html,我认为这同样需要javascript来检测处理何时完成
所以我的问题是。。。我他妈的是怎么做到的


如果该解决方案能够使我的动画GIF在整个处理阶段继续进行动画制作,则会获得额外的积分(至少是荣誉)。我之所以提到这一点,是因为在IE中,当PleaseWait.html重定向Process.html时,所有动画都会停止,这意味着我的微调器当前仅旋转半秒左右,然后在加载Process.html页面时停止。这是一组非常苛刻的限制条件!如果没有JS,我敢肯定你又回到了一个需要用户执行操作的世界:(在那个世界里……你最好有一个“检查并看看你的订单是否完成”的链接供用户点击


我想大多数人都会认为,在大多数情况下都应该“允许”使用“基本”javascript是安全的和
window.location
。如果您可以使用这些基本命令,您可以让页面每隔5秒左右重新加载一次。让页面点击'isUserDone.php',如果浏览器应该返回到'processing'页面或'complete'页面,它将重定向浏览器。您可以使用php中的header函数
header('location:complete.html')
让脚本告诉用户的浏览器转到不同(或相同)的页面。

我会使用元刷新-我不知道为什么它会被认为是不推荐的-它是HTML5工作草案的一部分-看起来它将继续存在:


当然,您可以提供一个链接供用户单击,以便在元刷新未触发时重新加载页面。为了安全起见,请发送一封包含链接的电子邮件,以便在交易失败时重新输入支付信息。

AJAX请求需要JavaScriptYou刚才说服我不要创建“请等待”页面。:)我会使用元刷新。由于这不是一个静态页面,用户总是有办法阻止这种行为的。有没有什么令人信服的理由让你不能在同一个脚本中创建订单和刷卡收费?根据W3C的说法,这是不推荐的。。。但是HTML5来自WHATWG,而不是W3C,所以谁知道该相信什么呢。添加备份链接当然不是一个选项,因为此页面旨在阻止用户使用back或单击其他链接来中断导航。如果页面自动重定向,并且用户单击了链接,那么流程页面将被调用两次——这是该页面极力避免的。无论如何,我认为元刷新是最干净、最受支持的选项。