前端能不能少用 js 跳转路由

137 天前
 yodhcn

吐槽一下,习惯了鼠标中键打开新页面,遇到一些通过 js 跳转路由的网站是真的难受,这种方案不仅 SEO 优化差,用户想开个新页面还只能手动复制链接

9107 次点击
所在节点    程序员
75 条回复
diegozhu
136 天前
@xiaofeixiang 用了 a 标签也能在跳转前做事情。。
Obj9527
136 天前
这种不是菜不菜的问题,而是想不想做的问题
meteora0tkvo
136 天前
youtube spa 单页应用可以实现楼主说的按住鼠标中键/ctrl/ctrl + shift 新标签页打开,不知道怎么实现的。如果是用 vue 的 route 方法跳转确实会有这个问题
peasant
136 天前
@ghosthcp516 #46 打开看了下你这个例子,点击鼠标左键确实有用,但是点鼠标中键是直接打开 href 里的链接,没有执行方法。
dode
136 天前
@xiaoming1992 按着 ctrl ,点击会在新窗口打开页面
nullEDYT
136 天前
@ghosthcp516 e.preventDefault() 需要放到 await 后面 然后根据条件判断是否执行 e.preventDefault(),然后决定是否跳转
cj941030
136 天前
有时候没办法,点击按钮有一堆的判断,甚至参数获取,再去做跳转
edisonwong
136 天前
中小公司,前端界面很可能都是后端人员“身兼数职”来写的,加上屁事多,所以很多压根都没这个意识与知识
给多少钱就要求那么细致开发要求体验好啊,甚至有些都不适配移动端,三折叠屏幕,全错乱
Y25tIGxpdmlk
136 天前
@gorvey #32 跳转过去的目标页来验证不行吗?
Leeeeex
136 天前
@xinzhanghello 一棒子打死国内所有前端,还得是你。
xinzhanghello
136 天前
@chanChristin 哈哈 夸张了。 肯定还是有厉害的,我只是后端来吐槽下大部分页面真的很难受。
gofishing
136 天前
@ghosthcp516 这样做有很大的漏洞

1. 鼠标右键, 可以打开菜单, 选择跳转. 得再阻止 contextmenu 事件.
2. 无法阻止鼠标中键新页面打开.
3. 无法阻止 ctrl + 左键打开
4. 如果测试, 产品较真起来, 鼠标 hover 到链接的时候, 页面左下角是可以看到链接, 用户可以手动输入链接跳转.
xiaoming1992
136 天前
@dode #65 我说的是,如题所说的 js 跳转,用的是 router.push 之类的,你用 ctrl 或者中键都没用。
ragnaroks
135 天前
说一个需要使用事件而不是 A 标签的正常的需求:阻止浏览器预读浪费大量带宽
kakki
135 天前
我 XX 居然这么多人不知道鼠标中键能打开新链接的.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1137829

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX