从example.com/home重定向至带loc参数URL引发无限循环,如何解决?
解决重定向无限循环问题
问题根源很明确:你的脚本不管当前页面URL有没有loc=USA参数,都会强制跳转到带参数的地址——而带参数的页面加载后又会执行这段脚本,直接触发无限循环。
解决思路就是先判断当前URL是否已经包含目标参数,只有不存在时才执行重定向,给你两种实用的实现方式:
方式一:用URLSearchParams(推荐,更规范)
<script> const params = new URLSearchParams(window.location.search); // 检查是否存在loc参数且值为USA if (!params.has('loc') || params.get('loc') !== 'USA') { window.location.href = "https://example.com/home?loc=USA"; } </script>
方式二:直接检查URL字符串
<script> // 判断当前URL是否包含loc=USA if (!window.location.href.includes('loc=USA')) { window.location.href = "https://example.com/home?loc=USA"; } </script>
额外提醒:建议用window.location.href代替window.location,语义更清晰;跳转地址最好加上完整协议(比如https://),避免相对路径引发的意外问题。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

