如果我有以下代码,浏览器会将其带到指定位置。
<script>window.location = "https://google.com";</script>
但是使用header('location:$url');
时会发生什么。浏览器是否收到标头并从客户端进行重定向?
答案 0 :(得分:4)
这取决于您希望将用户重定向到另一个页面的方式和时间。
如果您希望立即将用户重定向到另一个页面而不让他看到任何网站,则应使用PHP标头重定向方法。
如果你有一个Javascript,并且用户的某些操作必须导致他进入另一个页面,那就是你应该使用window.location。
元标记刷新通常在下载网站上使用,只要您看到这些&#34;您的下载应自动启动&#34;消息。您可以让用户加载页面,等待一段时间,然后在没有Javascript的情况下将其重定向(例如,转移到要下载的文件)。
浏览器将立即处理标题重定向,而在页面加载之前不会执行Javascript重定向(或至少足以运行Javascript)。此外,它将是Javascript引擎执行重定向而不是浏览器本身。
通过标题执行此操作会更好。 (无论如何......)
答案 1 :(得分:0)
<script>window.location = "https://google.com";</script>
这是用户使用JS重定向到网站的方式。这是在客户端完成的。
header
是PHP中的一个函数,您可以根据您的逻辑从服务器端将用户重定向到新的URL。
答案 2 :(得分:0)
将此代码放入代码时
<script>window.location = "https://google.com";</script>
它将被发送到客户端的浏览器,然后当DOM完全加载时,它将由浏览器执行并重定向到google.com
但是当你将header('location:$url');
放到你的PHP代码中时。服务器将发送302响应以将客户端浏览器直接重定向到新URL,而不是由javascript执行..