首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将访问者重定向到另一个页面最可靠的方法是什么?

将访问者重定向到另一个页面最可靠的方法是什么?
EN

Stack Overflow用户
提问于 2015-05-01 05:02:12
回答 3查看 826关注 0票数 1

我有一个纯PHP页面,它的目的是做很多事情(加载需要4-5秒),然后将用户重定向到另一个页面。

最近,我在PHP脚本的开头放了一点HTML (准确地说,是一个加载gif ),这样访问者就知道页面正在做什么,希望不会关闭页面。

问题是,现在我不能使用PHP的头函数来重定向访问者,因为HTML代码在PHP可以这样做之前发送头。

我需要一种非常非常可靠的方式来重定向我的访问者。我希望它可以在任何设备上工作(台式机、移动设备、平板电脑等)和任何浏览器。就目前而言,我认为回显meta刷新标签是实现这一目标的最佳方式。你认为如何?

EN

回答 3

Stack Overflow用户

发布于 2015-05-01 05:07:55

一旦浏览器读取了您的meta标签,它可能不会等待请求完成,这可能会使您的脚本处于不一致的状态。你可以通过添加javascript来破解这一点,它在页面上寻找一个标记,只有在你的脚本完成后才会发送,并从js重定向。但你真正想做的是用你的加载gif发送一个简短的响应,它向服务器发出一个ajax调用来执行操作,一旦你得到了成功的响应,就进行重定向。但是,你应该从一开始就在你的原始页面上这样做。

票数 2
EN

Stack Overflow用户

发布于 2015-05-01 05:06:49

您可以使用javascript重定向用户。使用

代码语言:javascript
复制
window.location="";

代码语言:javascript
复制
window.location.href=""
票数 1
EN

Stack Overflow用户

发布于 2015-05-01 05:15:41

  1. 在服务器端发送HTTP头。

Location: http://foobar.com

  1. 在客户端呈现元重定向。

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

  1. 在客户端呈现链接。

<a href="http://foobar.com">Redirecting to http://foobar.com. or click here</a>

这样,如果客户端浏览器不支持自动重定向的标准,那么它们可能会有一个链接可供使用。

我不会费心使用Javascript,因为如果它们不符合上面的标准,很可能这个捕获不会另外得到任何人。

这是非常标准的做法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29977697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档