5个天坑的血泪教训!为什么千万不要在B端网页里引入多页签?
发现一个有趣的现象:几乎每个做 B 端产品的团队,都会在某个阶段收到用户强烈要求——"能不能在系统里加个多页签(Tab)功能?"听起来很合理,但真做起来才发现,这事儿远比想象的复杂。
一、多页签确实能解决 B 端用户的痛点
先说说为什么 B 端用户这么喜欢多页签。对他们来说,这功能确实很实用。想象一下,你在处理订单的时候,需要同时查看客户信息、库存状态、还得填写发货单。如果没有多页签,就得不停地在不同页面之间跳来跳去,刚填到一半的表单因为跳转丢失了,又得重新开始。
有了多页签就不一样了,几个任务可以同时进行,需要对比数据的时候也方便,整个工作效率确实会提升不少。而且对 B 端用户来说,他们的工作本身就是多任务并行的,多页签正好符合他们的工作习惯。
二、为什么用户不愿意用浏览器的多页签?
你可能会问,浏览器本身就有多页签功能,为什么用户还要求在网页内部再做一套?
这其实有历史原因。早期的 B 端用户大多是从 Windows 客户端软件开始接触办公系统的,那时候的软件特别喜欢用选项卡(Tab 的另外一个译名),像 Office、各种 ERP 系统都是这样设计的。用户从年轻时就习惯了这种交互方式。
Windows 的选项卡
传统 ERP 软件的选项卡
关键是,Web 兴起的时候,浏览器市场的老大是 IE。老版本的 IE 浏览器,跟现在的 Chrome、Edge 不一样,它自己没有多页签功能。你想同时看几个网页,就得开好几个 IE 窗口,既笨重又麻烦。所以,当企业把软件从客户端搬到网页上时,用户就自然而然地提出要求:"我以前的软件能同时开好几个窗口,你这个网页版也得做到!"怎么办呢?开发人员只能在网页内部手动模拟一套页签系统。
老版本的 IE 浏览器
就这样,B 端网页内置多页签成了一种约定俗成的"标配"。
虽然现在 Chrome 成了主流,浏览器自带的页签功能已经非常强大,但用户的习惯一旦养成,就很难改变。对他们来说,浏览器是浏览器,工作软件是工作软件。他们希望工作流的所有操作都在软件内部闭环,而不是跳到浏览器层面去管理。这种习惯,或者说"肌肉记忆",就是他们强烈要求内置多页签功能的根本原因。
三、 第一个坑:宝贵的屏幕空间被占用了
B 端用户对"屏效"特别敏感,也就是屏幕的利用效率。他们的工作界面通常信息密度很高,需要展示大量的表格、图表、表单。
多页签虽然方便,但会占用一整条横向空间。别小看这 30-40 像素的高度,对 B 端用户来说,本来能显示 10 行数据的表格,现在可能只能显示 8 行了;本来一屏能看完的表单,现在非得往下滚一下才行。对于那些天天盯着数据大盘的用户来说,这简直是不能忍的。
我见过有些用户为了节省空间,把多页签做得特别小,结果页签标题显示不全,用户根本分不清哪个页签是什么内容。这就本末倒置了。
左图没有多页签,表格能多显示一行,而且界面看着也更简洁
四、第二个坑:层级关系越来越复杂
加了多页签之后,整个页面的层级结构就变得复杂了。
首先是视觉层级。想象一下,一个典型的 B 端后台:左边是全局导航菜单,顶部是全局标题栏和用户信息,现在中间又插入了一个多页签栏。这样,页签里的内容属于页签,而页签又属于全局菜单的某个功能。这种层层嵌套会让整个界面看起来拥挤复杂。设计师必须绞尽脑汁,用颜色、阴影、分割线去区分这些层级关系,稍有不慎,整个页面就会显得杂乱无章。
然后是交互层级。这个问题更棘手。以弹窗为例,一个常见的"删除确认"弹窗,它应该归属于谁?
- 如果它是全局弹窗,一旦出现,整个页面都会被蒙层覆盖。用户就无法切换到其他页签查询数据再回来做决定,多页签的优势立刻消失。
- 如果它是页签内弹窗,逻辑就更复杂了。比如,你在 A 页签点击某个按钮,触发了 B 页签里的一个任务,然后 B 页签弹出了一个窗口。如果用户没处理这个窗口就切回 A 页签,B 页签的弹窗状态该如何处理?这背后的逻辑状态维护让人头疼不已。
五、第三个坑:链接跳转逻辑变得超级复杂
在普通的网页里,点击链接通常只有三种结果:
- 当前页面跳转:适合线性流程,如"商品列表 → 商品详情 → 下单",一步接一步。
- 浏览器新页签打开:适合并行任务,如浏览搜索结果时,将感兴趣的几个都打开,逐个查看。
- 弹窗打开:适合临时、轻量级的操作,如确认通知。
这三种方式场景明确,用户已经习以为常。
但一旦引入网页内的多页签,每个链接就必须面临灵魂拷问。选择一下子增加到六种:
- 浏览器当前页面刷新
- 浏览器新页签打开
- 浏览器弹窗打开
- B 端网页内当前页签刷新
- B 端网页内新开一个页签
- B 端网页内弹出一个窗口
这意味着每次设计一个按钮或链接,你都要反复思考:到底哪种方式最合适?
为了简化,你可能会说:"那我统一一下,所有操作都在 B 端网页里新开页签!"然而,这又会带来新的逻辑问题。以"列表页 → 新建表单页"流程为例:用户在新建页签里填完表单并保存后,正常逻辑是返回列表页并刷新,显示新建的数据。而使用新页签后,你需要额外添加逻辑:保存成功后自动关闭新建表单页签,并通知列表页页签刷新。这些额外的处理逻辑不仅增加了开发成本,还容易引入Bug。
六、第四个坑:性能问题防不胜防
每个页签,用户都希望它能"记住状态"。看报表的页签,用户希望数据实时更新;填表单的页签,用户又希望它保持不变,即使他填到一半切换出去处理其他事,再回来时草稿也应原封不动地保留。
要保存这些页签的状态(包括数据、滚动条位置、第三方库实例等),意味着它们都必须在内存中"活着"。开三五个页签或许还行,但如果用户开了十几个、二十个呢?特别是那些包含复杂图表、地图或引入多个第三方库的页面,内存占用会急剧增加,最终导致整个网页变得极其卡顿,甚至直接崩溃。
你可能会说,浏览器自带的多页签不也开很多吗,怎么就没事?问得好!多页签技术其实是个天坑。
早期的 IE 没有这功能,后来像 Maxthon(傲游)这样的第三方浏览器虽然提供了,但也是常年被崩溃问题困扰。现代浏览器能做到稳定,是因为它们背后是谷歌、Mozilla 这些巨头投入了海量工程师,把浏览器本身做得几乎像一个操作系统一样复杂。你想想,Figma 这种能和 Photoshop 媲美的复杂应用都能在浏览器里跑,你就知道现代浏览器的技术含量有多高了。你自己在 B 端页面里再套一层页签,等于在 Windows 里再装个 Windows——技术债堆到火星,后期维护能让你头发掉光。
左图是 Chrome 浏览器架构,右图是安卓系统架构。都挺复杂的
七、第五个坑:和浏览器原生功能冲突
当你在一个已有页签功能的软件(浏览器)中,又嵌套了另一个有页签功能的应用(你的 B 端网页),冲突就不可避免。
- 前进/后退:用户习惯性地会点击浏览器左上角的前进后退按钮。然而,切换内置页签时,浏览器的 URL 通常保持不变。这导致用户点击"后退"时,不是返回上一个内置页签,而是直接退出整个系统。这种体验是灾难性的。
- 收藏/分享:URL 是 Web 的核心优势之一。用户可以收藏当前页面链接或分享给同事。但内置页签让这个功能失效了。你无法单独收藏或分享"用户张三的详情页",只能告诉同事:"先登录系统,然后点客户管理,再搜索张三,再点进去……"这大大降低了协作效率。
八、怎么说服用户不要用内置多页签?
作为设计师,我们不能生硬地拒绝用户,而应该采取引导的方式。
① 先认同,再引导:首先要充分肯定用户的需求。"您说得对,能同时处理多个任务、快速切换且不丢失数据,这个需求非常重要!"
② 重新定义问题:然后将问题从"要不要加多页签"转化为"如何更好地实现多任务处理"。"我们共同的目标是提升效率,那么多页签是唯一的或最佳的解决方案吗?让我们一起探讨更巧妙的方案。"
③ 拿出替代方案:针对具体场景,提供更优的解决方案。
- 需要对比信息? 我们可以采用"主从布局"(Master-Detail),左侧是列表,右侧是详情,点击左侧项目,右侧内容随之更新。或者使用"分屏视图"。
- 需要处理临时任务?我们可以使用"抽屉"(Drawer)从侧边滑出。例如在用户列表页,点击编辑按钮,右侧滑出编辑面板,既不离开当前列表,又能完成编辑任务,完成后直接关闭即可。
- 真的需要多个独立任务并行?那就充分利用浏览器本身的功能!我们优化系统,确保用户在浏览器中"右键-在新标签页中打开"时体验流畅。让用户使用浏览器强大的页签管理能力,而不是在系统中重新实现一个功能受限的版本。
九、如果真的要做,怎么避免踩坑?
当然,有时候胳膊拧不过大腿,因为各种原因,这个功能你必须得上。那行,我们也要有专业的兜底方案,把坑填得平一点。
- 限制页签数量:明确告知用户并设定一个上限,比如 10 个或 15 个。超过了就提示他需要关闭一些,这既能避免用户认知过载,也给性能留了条活路。
- 优化关闭机制:光有个小叉叉不够。要提供“关闭所有”、“关闭其他”、“右键菜单关闭”等便捷功能,让用户能快速清理工作区。
- 智能缓存策略:别傻乎乎地把所有页签都 keep-alive。可以只对最近活动的 3-5 个页签做实时缓存,更早的页签在用户切回来的时候,显示一个加载动画,重新请求数据。这是典型的用一点点体验牺牲,换取巨大的性能提升。
- 与 URL 部分同步:这是个推荐项,但很有用。至少,把当前激活的页签 ID,通过 hash 或 query 参数反映在浏览器的 URL 上。这样用户不小心按了 F5 刷新页面,至少能帮他恢复到他最后正在看的那个页签,而不是打回首页。
- 明确的视觉提示:对于有未保存修改的页签,在标题旁边加个星号(*)或者小圆点,这是最基本的用户提示。
- 做好移动端降级:这套复杂的页签系统在手机上绝对是灾难。必须为移动端设计一套完全不同的、更简洁的导航和任务流。
- 时刻反思替代方案:在整个设计过程中,都要不断问自己,当前这个小需求,是不是真的非得用新页签?用弹窗行不行?用侧边栏行不行?别把内置页签当成唯一的锤子,看什么都像钉子。
说实话,B 端产品的多页签需求背后,往往反映的是信息架构的问题。如果用户频繁需要在多个页面间切换,可能说明我们的信息组织方式有问题。与其在技术上硬扛,不如从根本上优化信息架构和交互流程。
总而言之,内置多页签是个“重型武器”,看着很强大,但后坐力也惊人。作为设计师,我们既要理解它为何深得用户欢心,也要清晰地认识到它背后的五大“天坑”。最好的策略是引导用户使用更轻、更巧的方案,如果实在不行,那就带上这份“避坑指南”,小心翼翼地把它实现好吧。
作者:龙爪槐守望者
想了解更多网站技术的内容,请访问:网站技术
下一篇
没有了