我有一个纯PHP页面,它的目的是做很多事情(加载需要4-5秒),然后将用户重定向到另一个页面。
最近,我在PHP脚本的开头放了一点HTML (准确地说,是一个加载gif ),这样访问者就知道页面正在做什么,希望不会关闭页面。
问题是,现在我不能使用PHP的头函数来重定向访问者,因为HTML代码在PHP可以这样做之前发送头。
我需要一种非常非常可靠的方式来重定向我的访问者。我希望它可以在任何设备上工作(台式机、移动设备、平板电脑等)和任何浏览器。就目前而言,我认为回显meta刷新标签是实现这一目标的最佳方式。你认为如何?
发布于 2015-05-01 05:07:55
一旦浏览器读取了您的meta标签,它可能不会等待请求完成,这可能会使您的脚本处于不一致的状态。你可以通过添加javascript来破解这一点,它在页面上寻找一个标记,只有在你的脚本完成后才会发送,并从js重定向。但你真正想做的是用你的加载gif发送一个简短的响应,它向服务器发出一个ajax调用来执行操作,一旦你得到了成功的响应,就进行重定向。但是,你应该从一开始就在你的原始页面上这样做。
发布于 2015-05-01 05:06:49
您可以使用javascript重定向用户。使用
window.location="";或
window.location.href=""发布于 2015-05-01 05:15:41
Location: http://foobar.com
<meta http-equiv="refresh" content="5; url=http://foobar.com/">
<a href="http://foobar.com">Redirecting to http://foobar.com. or click here</a>
这样,如果客户端浏览器不支持自动重定向的标准,那么它们可能会有一个链接可供使用。
我不会费心使用Javascript,因为如果它们不符合上面的标准,很可能这个捕获不会另外得到任何人。
这是非常标准的做法。
https://stackoverflow.com/questions/29977697
复制相似问题