You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中实现含/pages/路径的移动端URL跳转功能

URL跳转规则修正方案

原代码存在的问题

  • 路径判断逻辑错误:url = "pages"是赋值操作,不是判断逻辑,同时没有正确获取当前页面的路径信息,无法识别/pages/路径
  • 跳转前缀错误:需求要求跳转前缀为/a/b/,原代码写为/a/s,路径不匹配
  • 移动端判断逻辑不够严谨:仅通过屏幕宽度判断移动端,部分平板、横屏手机场景可能识别出错

修正后的完整代码

<script type="text/javascript">
// 移动端判断:结合屏幕宽度+用户代理标识,覆盖更多场景
const isMobile = screen.width <= 699 || /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
// 路径判断:确认当前路径包含/pages/且还未跳转到目标前缀下,避免无限重定向
const needRedirect = window.location.pathname.includes('/pages/') && !window.location.pathname.startsWith('/a/b/');

if (isMobile && needRedirect) {
    // 拼接目标路径,保留原完整pathname
    window.location.href = '/a/b' + window.location.pathname;
}
</script>

额外说明

  • 如果你的跳转前缀不是固定的/a/b,可以自行替换代码中拼接的前缀内容
  • 若不需要兼容特殊设备的移动端判断,可以删掉UA判断的部分,仅保留screen.width <= 699即可

内容的提问来源于stack exchange,提问作者Ariel Artiaga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:45:04