您现在的位置是:时尚 >>正文

链接跳转代码

时尚3718人已围观

简介去年帮朋友改一个电商页面的跳转逻辑,发现他把所有外链都写成了点击这里。用户点进去之后,页面直接在当前标签页打开,原商城页面没了。他跟我说“用户想回来按后退键就行”,但实际数据是跳出率涨了快三成。这就是 ...

去年帮朋友改一个电商页面的链接跳转逻辑,发现他把所有外链都写成了点击这里。跳转用户点进去之后,代码页面直接在当前标签页打开,链接原商城页面没了。跳转他跟我说“用户想回来按后退键就行”,代码但实际数据是链接跳出率涨了快三成。这就是跳转典型的跳转代码没写对。

链接跳转这件事,代码表面看就是链接给标签加个href属性,但背后涉及的跳转行为差异很大。最常见的代码是同窗口跳转,也就是链接默认行为:用户点击后,当前页面被新页面替换。跳转这种写法适合站内导航,代码比如从商品列表进详情页。但如果你指向的是外部站点,或者需要用户保留原页面继续操作的场景,就得换方式。

新窗口打开,老写法是加target="_blank"。但很多人不知道,从2021年开始,主流浏览器给这个属性加了个隐式规则:新打开的页面能通过window.opener访问原页面,存在安全风险。所以现在推荐写成rel="noopener",或者直接rel="noreferrer"。我在自己的博客里测试过,不加这两个属性,Chrome控制台会弹安全警告,虽然不影响功能,但看着膈应。

还有一种跳转不是用户点击触发的,而是代码自动执行。比如支付完成后倒计时三秒跳回订单页。实现方式有两种:window.location.href和window.location.replace。区别在于前者会在浏览器历史里留一条记录,用户按后退能回到支付页;后者直接替换当前历史记录,后退就回不去了。做支付回调的时候,我一般用replace,避免用户重复提交。

meta标签也能做跳转。<meta http-equiv="refresh" content="5;url=https://example.com">,五秒后自动跳。这玩意儿现在用得少了,因为用户体验差,而且对SEO不友好。但有些老后台系统还在用,我见过一个内部工单系统,提交成功后就是靠meta刷新跳转的。改起来麻烦,因为跳转逻辑散落在各个JSP页面里。

JavaScript跳转更灵活,可以加条件判断。比如检测用户是否登录,没登录就跳登录页,登录了才跳目标页。写法简单:if (!isLoggedIn) { location.href = '/login'; }。但要注意,如果这段代码放在标签的onclick里,得记得return false阻止默认行为,否则两个跳转同时触发,结果不可控。我踩过这个坑,当时调试了半小时才反应过来。

还有一类跳转容易被忽略:表单提交后的跳转。后端返回302重定向,浏览器自动跳。这个过程中,如果原请求是POST,有些浏览器会弹窗问“是否重新提交表单”。解决办法是用303状态码,强制把POST转成GET。这个细节在前后端分离的项目里经常被绕过,因为前端直接用fetch拿JSON,然后手动location.href跳转,反而没这个问题。

移动端有个特殊场景:唤起App。用scheme协议跳转,比如taobao://item.taobao.com。如果用户没装App,页面会卡住或者报错。通常得加个定时器,两秒后跳回下载页。这段代码写起来啰嗦,但没办法,iOS和Android的兼容性就是不一样。我见过最粗暴的做法是直接window.location.href = 'taobao://...',然后不管了,用户体验极差。

说到底,跳转代码的选择取决于三个问题:用户要不要回来?新页面安不安全?跳转由谁触发?想清楚这三点,写出来的代码就不会出大错。我自己的习惯是,站内跳转用默认,站外用target="_blank"加rel="noopener",自动跳转优先用location.replace。至于meta刷新,除非维护老系统,否则不碰。

Tags:

上一篇:js逆向工具

下一篇:跳转网站

相关文章

  • 围挡坎墙漏洞补砌的施工工艺

    时尚

    围挡坎墙的漏洞,多半不是一朝一夕形成的。去年秋天我在一个市政工地看到,一段三十米长的坎墙,光拳头大的窟窿就有七个,有的洞眼周边砖块已经酥了,手指一抠就掉渣。这种活儿,瓦工师傅们管它叫“补窟窿”,听着简 ...

    【时尚】

    阅读更多
  • 自身产品和系统漏洞的责任主体

    时尚

    2023年4月,某知名智能汽车品牌因辅助驾驶系统误判白色货车车厢为云朵,导致追尾事故。舆论炸锅后,车企第一时间发声明,强调“系统仅为辅助,驾驶员须保持警惕”。话没错,但细想一层——车主花几十万买“智能 ...

    【时尚】

    阅读更多
  • 拿到一个单品应该怎么进行淘宝运营

    时尚

    拿到一个单品,第一件事不是优化标题,也不是做详情页。是打开生意参谋,看这个品类的搜索人气和在线商品数的比值。如果在线商品数几十万,搜索人气才几千,直接换品。别跟市场硬碰硬,那是拿鸡蛋撞石头。 我一直记 ...

    【时尚】

    阅读更多


友情链接