前端开发单页应用,竟然在 url #后传参, WTF!!!

2018-01-09 21:22:15 +08:00
 oness

#不是用来定位锚点的吗?你们却用来单页传参

这种 hack 方式实现,不顾 w3c 标准,真的好吗?

地址栏一大坨...

简单搜索了下,貌似 vue 默认这么做,以至于 v2 上有人问怎么去掉。

几个大站,比如淘宝也有类似的做法

14688 次点击
所在节点    程序员
84 条回复
SophiaPeng
2018-01-10 11:34:02 +08:00
@younfor 你这个咦惹,让我很有亲切感
vq0599
2018-01-10 13:03:13 +08:00
如果献丑,可以使用 BrowserRouter,搭配一个十几行 server 代码即可,没必要纠结。
DOLLOR
2018-01-10 14:04:24 +08:00
用#hash 还有个好处上面都没提到,就是 http 的 referer 会带上?search,不会带上#hash。如果页面资源多、?search 也很长的话,就会产生许多带有很长?search 的 referer,浪费带宽;而且,带有?search 的 referer 请求外部资源,还有可能把敏感信息暴露给第三方。
daysv
2018-01-10 14:13:49 +08:00
全世界都这么做
fcten
2018-01-10 14:14:44 +08:00
本来就是为了避免把参数传递给后端才用 # 的……
wcsjtu
2018-01-10 14:37:46 +08:00
明明可以用反向代理解决, 非要搞这么一出, 我也不太理解这种做法。
fulvaz
2018-01-10 14:51:43 +08:00
我开 history 模式去了井号, 符合"规范", 你又要开个贴

"前端开发单页应用, 我不配 nginx 还不能运行, WTF"

还有另一个贴
"前端开发单页应用, ie 都不支持, WTF"
371657110
2018-01-10 16:23:25 +08:00
无辜躺枪 wtf
younfor
2018-01-10 16:47:15 +08:00
@SophiaPeng 你才是大佬 我是渣渣(逃、
jadeity
2018-01-10 16:51:48 +08:00
世界本没有路,走的人多了。。。
t2doo
2018-01-10 19:41:54 +08:00
vx2e
2018-01-10 19:47:58 +08:00
服务端可以设置 HTM5 模式的 history 路由,然后访问的话就不会有#号了,像 NGINX。不过#确实不好看,但是方便啊 而且不用服务端做配合设置。
vx2e
2018-01-10 19:51:10 +08:00
还有可能是为了兼容不支持 HTM5 模式而降级设置的,前端基于浏览器的开发环境是最恶劣的,没有你想象的那么好。
mskf
2018-01-10 19:57:45 +08:00
可能会影响到 SEO,不过话说单页面应用就是这样开发的,没问题老铁
ccbikai
2018-01-10 20:34:54 +08:00
这只是降级方案
scriptB0y
2018-01-10 21:25:36 +08:00
@rrfeng kibana 自带 url 了,那么长的 url 经常被各种网站解析<a>错
iyaozhen
2018-01-10 22:10:54 +08:00
所以说是单页应用呀
heww
2018-01-10 22:16:34 +08:00
@broadliyn #30 不只是遗留问题,当前的微信浏览器对 histroy 模式支持的不是很好!
oswuhan
2018-01-10 22:45:22 +08:00
“碰见和后端一样的东西强行说简单,碰见和后端不一样的东西则强行 WTF ”,你这个心态在众多非前端开发者中很普遍,总是想用后端的思想来处理前端的问题,比如不接受 SSR 以外的任何视图渲染方式。

这也是 React 这种纯粹的前端思想的产物为什么被 VUE 的人气比了下去的原因,以致于 React 为了照顾伪前端和非前端开发者的情绪也出了一套官方的 SSR 方案,一定程度上背离了创建项目时的初衷。
Tompes
2018-01-10 22:49:41 +08:00
这不是基本操作吗。。。

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

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

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

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

© 2021 V2EX