This topic created in 2261 days ago, the information mentioned may be changed or developed.
本来可以做成一个普通的链接,非要用 onclick 之类的东西来作跳转,导致链接原有的功能不可用。比如右键「复制链接」、比如鼠标中键「在新窗口打开」。
以下 HTML 片段摘自某些网站:
// 点击后,会在新窗口打开链接 xyz.png
<p class="option preview" data-screen_glue_cid="sgk8897jh2xhboe5">预览</p>
// 点击后跳转到 /tasks/{task-uuid}
<div class="task-content__inner__oIt- hinted" data-title="增加排序功能">增加排序功能</div>
16 replies • 2020-08-28 15:29:20 +08:00
 |
|
就是偷懒,接 history api 还要用链接得加个 preventDefault
|
 |
|
感觉省事。。a 标签还要覆盖样式
|
 |
|
跳转前需要做一些逻辑上的效验或者操作啊
|
 |
|
1 、跳转前有逻辑需要执行。 2 、有可能你理解的界面切换并不是跳转。 3 、需要加大页面切换时,你恶意获取到信息的难度。
|
 |
|
因为是 SPA,大部分情况下看似跳转其实页面主体并没有刷新,全靠 JavaScript 来更新页面内容
|
 |
|
你把这个事想的太简单了 在你看来只是跳转了一个页面 没准背后执行了很多代码
|
 |
|
明不明白什么叫函数式编程?
|
 |
|
通常因为懒,或者技术不佳,或者开发者根本不知道还有中键点击这种需求。 Google 十年前就实现了的技术,有什么难的。Google 搜索结果页面里面的链接,鼠标指过去都是原始链接,mousedown 的时候就给你加私货。
另有一种情有可原。你在 A 页面点击了按钮 B,页面变为 C 。但实际上并不存在 C 这个页面,也就是说没有一个能直达 C 的 URL,只能通过 A 页面点进去。这种情况肯定就不能提供 URL 形式的链接了。
|
 |
|
ChanKcAug 28, 2020 via Android 4
9
我的理解 所有发生 URL 变化的都应该使用 a,并且支持中键点击 除此以外的,比如打开模态框对话框,可以用 button 做不到的都是 a11y 有缺陷
|
 |
|
加个 role="link" 就可以优化不少体验,懒得做 a11y 呗… 还是不够关注交互
|
 |
|
那些说因为跳转前要执行代码或者 SPA 所以不用链接的,真是笑死我了。
链接跳转跟执行代码不冲突。 SPA 还有前端路由可用。
|
 |
|
个人能想到的原因: 1 懒 2 菜 3 反爬
|
 |
|
html 当模板用
|
 |
|
故意的,像现在新浪,手机版本,长按标题根本不能新窗打开,点进去后返回,全部新闻都刷了个新的,简直智障。
|
 |
|
因为简单,比如你没发现现在很多前端都不在 url 里携带内容了吗? 复制一下重新打开,信息全丢完了,就是因为这样是最简单的
|
 |
|
1. 懒 a 标签的样式需要改 2. 路由跳转会有参数需要处理 3. 还会有埋点的事件
|