在一个页面内实现在新标签页打开链接有什么利弊?

278 天前
 shendaowu

用中键点击链接以让链接在新标签页打开我用的挺频繁的,但是感觉这种模式好像有点弊端,所以就想了一下在一个页面内实现在新标签页打开的功能。

我能想到的弊端:开发麻烦、用户理解困难。

我能想到的好处:减轻服务器负担、加快页面加载。这两个我都不太确定,我用我浅薄的知识思考了一下感觉应该能有这种效果。特别是如果页面很复杂,而新页面变化的内容很少。

我之前好像完全没见过这种东西,但是感觉应该是挺好想到的,没人做是不是有什么难以忽视的缺陷?我搜了一下也没搜到。

1265 次点击
所在节点    前端开发
15 条回复
ershierdu
278 天前
op 的意思是百度那样单击搜索结果后在新标签打开网页的效果?我不懂前端,不过这应该是很基础的功能吧,改个 HTML 标签的事?

至于在当前标签打开,好处之一是可以流畅地使用返回手势
swulling
278 天前
这也不是一个技术问题,不就是加一个 `target="_blank"`么。

这是一个产品问题,关键是你的业务逻辑适不适合。
shendaowu
278 天前
@ershierdu #1

我担忧的果然来了,就是我没说明白。

刚才又在 GitHub 搜了一下“tab manager”。搜到个 demo: https://rawgit.com/caplin/FlexLayout/demos/demos/v0.7/demo/index.html 。大概就是这个感觉,如果你在这个页面的标签页里中键点击了一个链接,会在这个页面内新建一个标签页,而不是新建一个浏览器的标签页。
shendaowu
278 天前
@swulling #2 怪我没说明白。你说的这个我知道,你这个是在浏览器的新标签页打开,我想实现的是在页面内的标签页里打开。看我三楼的回复。
shendaowu
278 天前
@shendaowu #3 我又没说明白。三楼提到的那个 demo 没实现我在三楼说的那种点击链接在页面内得标签页里打开的效果,我说的是我想的效果。
wusheng0
278 天前
自己模拟浏览器标签?

>减轻服务器负担、加快页面加载。

应该效果一般,静态文件有缓存的,动态数据还是免不了。

后台管理其实有那种导航和这个类似。

不这么做还是成本问题,业务需求上没必要,普通标签对用户和开发都友好。
shelken
278 天前
就是在一个页面打开的页面就在这个页面,但是还是分标签的。这种也挺常见吧?唯一区别就是保留不保留上个菜单项的页面,还是从需求出发
ershierdu
278 天前
@shendaowu 这个网页加载不出来,不过听着有点像 iPhone Safari 长按(准确来说是按压,不过现在没有 3D touch 了,所以这个交互变成长按)链接后 pop 出来的预览图,再点击一下可以直接进入。我觉得类似的功能需要浏览器的支持才能获得比较好的体验,例如 iPhone 这个,把预览图打开成普通标签页是不需要重新加载的,没有浏览器支持的话应该不好做?
ershierdu
278 天前
@ershierdu 网页打开了,看来我又理解错了……如果只是单纯地模拟标签,我觉得不仅给自己的开发和维护增加了难度,还一定程度上破坏了跟规范的兼容性
shantongxu
278 天前
op 指的是类似后台管理系统那样多 tab 页吧
从技术上来看, 在以前的 iframe 年代没有难度, 但是现在普遍用的 react ,vue 等,vue 的话有 keep-alive 标签还好实现一点,react 因为没有官方的 keep-alive 所以实现起来就比较困难, 但是也不是不能实现
所以综合来说,2 楼说的对 这不是一个技术问题, 这是一个产品问题
IvanLi127
278 天前
这个很常见吧,至少上古的管理系统好像都喜欢这么干,不知道和 ie 当时不支持多标签有没有关系。。。这功能现在看来没啥用啊,把浏览器能做的事情再做一遍,还要维护,怎么想都不划算呐。
Colemei
278 天前
提供一种新逻辑,参考 Arc 浏览器给出的解决方案,click 之后出现的是一个独立于当前浏览器窗口之外的临时小窗
Little Arc is a smaller, simpler Arc window. It's perfect for quick
lookups and reading funny tweets your friends send you.
DOLLOR
278 天前
这种“模拟 tab”的交互,我是能不做就不做的。
因为会增加很多开发负担,也不会给用户体验有多少提升。
比如被切换到后台的 tab 内容要保留还是销毁,如何处理重复标签,如何同步各标签页的状态等等
darkengine
277 天前
如果浏览器一级已经打开多个标签, 标签加载的页面里还有一堆子标签, 要找某个子标签的时候就非常麻烦, 要挨个标签切进去看.
zycxtbl4324
264 天前
这种产品一般只在 toB 的项目上出现,你肯定见不到,toB 产品有很多需求必须这样实现,多页面缓存,因为有的流程需要多页面操作

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

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

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

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

© 2021 V2EX