网页打开:为什么国内用新标签页,国外用当前页?
想写这个话题很久了,因为用百度和Google搜索时,打开搜索结果链接时的交互差异,几乎每天都要提醍我一下。
网页打开——这个交互,在设计里,算是极微小,但影响极广泛的操作设计。甚至,因此形成了东、西方不同的交互设计原则和不同的用户体验标准。
以“百度”和“Google”搜索为例
按照产品的交互设计,做为用户,我们的操作过程是这样的:
1、输入关输字——2、查看搜索结果——3、打开某结果链接——4、浏览某结果链接页
第3步交互时,百度打开链接和Google的方式差别,如下图:
这个差异,不只出现在“百度”和“Google”这两个产品中,几乎大部分的国内和西方的产品中,都存在这个设计差异。
接下来,就让“百度”和“Google”各自说说:它们打开结果页链接时,用不同页面的原因吧:
首先“百度兄”先来
1、在新标签页打开,用户不容易彻底跳出百度(即关闭了所有与该网站相关的页面)。
用户查找信息时,在搜索页寻找内容后点击,新窗口弹出页面,看完关闭,然后返回搜索页继续寻找。这样交互方式让百度搜索页面一直保持在窗口,用户不容易彻底离开。
2、中国用户己经习惯用“新标签页”打开页面的方式
中国人有着中国人的生活方式,中国网民这么多年己经养成了这种浏览方式,即:更习惯关闭当前页而非后退的操作。
3、为了获得好的搜索排名,迎合爬虫对网站数据的综合评判,网站开发者让网站链接在新窗口打开,可以让运营指标更好看。
站长们想增加网站的PV(页面浏览量),常用的做法是:
在“导航、内链、锚文本、超链接”,加空白跳转<a href="/" target="_blank">
这样,不但同样一个IP(IP地址),可以获得2+以上的PV;还可以增加页面浏览量、增加页面停留时长、降低页面跳出率。
4、返回重载太麻烦
在搜索页跳转,看完要按返回键,再回到搜索页,重载花时间还浪费流量,而且还不一定返回到原来的地方。
要是是使用付费流量(如手机流量套餐),会造成多余的流量消耗。
5、可以应对网速太慢时的操作
以前用ISDN和ADSL拨号上网,网速很慢,现在有的地方网速也不快。等网站打开界面太无聊,可以一次性打开多个界面,一边看网页的同时,后台慢慢帮着传送别的网页。
接下来到“Google”了
1、在当前页打开,用户的浏览路径清晰,更专注。
我(西方)的用户体验认为:
不要随便开新标签,影响体验。
因为在一个标签页内浏览,能够维持一个固定的历史线,方便用浏览器内建的后退前进功能回溯浏览历史。
跟踪链接,这对于用户来说是必要的。
2、让用户自己做出决定。
有些用户喜欢在新标签打开每个链接。有些更喜欢在同一个窗口中前进和后退浏览,而有些用户可能不知道如何在窗口或标签之间切换。不同的用户应该让他们选择,按喜好操作。
-
用户点击鼠标左键,在当前页打开;
-
点击鼠标中间的滚轮或按住Ctrl+鼠标左键,在新标签页打开链接。
-
对必须默认用新标签打开的链接,在链接后加“箭头”标识,提醒用点击会开新标签,这是对用户操作的预先提醍。
3、我这里的用户,更习惯使用后退。
很多用户的鼠标,右手大拇指位置有两个按键,分别就是“前进”和“后退”,这样上网对他们来说,己经习惯了。
而且,早期的浏览器无法打开多个页面,打开新窗口就要启动一个浏览器,也让用“后退”这个习惯保持了下来。
4、减少电脑内存负担,节约服务器资源
满满的标签对计算机内存来说是负担。开多了,页面会反复报错。
默认当前页打开,用户在默认操作下不会同时打开多个网页,可以节约服务器资源
5、不需要对外链作特殊处理
我——谷歌,对用户点击的搜索结果指向的外链,不需要作大量的特殊技术处理。
而百度兄需要,百度在新标签页打开结果外链时,要先跳转到一个记录各种信息的缓冲页,然后才跳转到外链地址页。
百度的缓冲页链接:
我的搜索结果链接:
你更喜欢什么样的交互方式呢?
其实,一个看似很小的习惯养成,也是由各种因素合力完成的。
就像“打开界面”交互,之所以有不同操作方式,
-
有早期浏览器只能打开一个界面的原因;
-
也有类似BAT这些,国内外的大厂,最初进行设计时提出的各种特定交互方式对用户的影响和习惯养成的原因。
最终,构成了东西方,两类用户群体在“用户体验”上的公共认识差异和操作差异。
这种差异,如果想得再悬些,也许还涉及到不同文化群体的语言结构差异。
我们的文字是象形(表意)文字,这也形成了咱们国人的类比思维模式。类比的核心,再于事物间的关联性。
就像是八爪鱼,以身体为中点,可以有多个触角由身体衍生出去,不同的触角和身体都有某种不同的关系,触角再多,我们也不觉得乱。
就像在搜索页打开结果页时,搜索页是身体,我们可以由此,在窗口中打开很多相关的内容页,而不觉得繁杂,能够接受。
而西方的文字是表音文字,由字母构成的词,能大概能猜出读音,但没有含义表达。这和象形文字正好相反。
26个字母,要构成上千字,西方人用词根、词缀等各种语言逻辑组成了西方文字。
而西方的文字特点,也形成了他们逻辑思维模式。
而逻辑思维,注重的是思考的连贯性和一致性,在遵循这种逻辑规律的情况下:
在搜索页打开结果页时,在当前的搜索页面打开结果页,连贯性和一致性更符合他们的思维逻辑,在一条浏览线,“前进、后退”交互操作,也符合正向和逆向的逻辑多样性特点。
(“在当前页打开页面,更符合逻辑的一致性。”可不是我对老外的臆想,可看下面这篇文章,能代表西方交互设计师的主流看法)
相关文章:

网页打开:为什么国内用新标签页,国外用当前页?
想写这个话题很久了,因为用百度和Google搜索时,打开搜索结果链接时的交互差异,几乎每天都要提醍我一下。 网页打开——这个交互,在设计里,算是极微小,但影响极广泛的操作设计。甚至,因此形成了…...
用户运营4大核心(C端版)
1、用户运营是什么 产品好比歌手,运营好比经纪公司,运营就是让一个有潜质的产品,从“草根”发展成“明星”!C端用户的产品忠诚度不高,用户运营更要维护好“粉丝”关系,从“单向的吸引”发展成“双向的进步…...

SBM模型、超效率SBM模型代码及案例数据(补充操作视频)
01、数据简介 SBM(Slack-Based Measure)模型是一种数据包络分析(Data Envelopment Analysis, DEA)的方法,用于评估决策单元(Decision Making Units, DMUs)的效率。而超效率SBM模型是对SBM模型的…...

C#知识|上位机子窗体嵌入主窗体方法(实例)
哈喽,你好啊,我是雷工! 上位机开发中,经常会需要将子窗体嵌入到主窗体, 本节练习C#中在主窗体的某个容器中打开子窗体的方法。 01 需求说明 本节练习将【账号管理】子窗体在主窗体的panelMain容器中打开。 账号管理子窗体如下: 主窗体的panelMain容器位置如图: 02 实现…...

【汇编】算术指令
一、加法指令 (一)各加法指令的格式及操作 加法指令可做字或字节运算 (1)加法指令 ADD 格式:ADD DST,SRC执行的操作:(DST) ← (SRC)(DST) (2)带进位加法指令 ADC 格式…...
如何知晓自己手机使用状况-入网时长
手机入网时长查询的重要性 在当今的数字化时代,手机已经成为我们日常生活中不可或缺的一部分。从通讯、娱乐到工作,手机几乎涵盖了生活的各个方面。而在手机使用过程中,了解手机的入网时长信息显得尤为重要。本文将深入探讨手机入网时长查询…...

机器学习 - 决策树
1. 决策树基础 定义与概念 决策树是一种监督学习算法,主要用于分类和回归任务。它通过学习从数据特征到输出标签的映射规则,构建一个树形结构。在分类问题中,决策树的每个叶节点代表一个类别。 案例分析 假设我们有一个关于天气和是否进行…...
【scikit-learn007】主成分分析(Principal Component Analysis, PCA)ML模型实战及经验总结(更新中)
1.一直以来想写下基于scikit-learn训练AI算法的系列文章,作为较火的机器学习框架,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下scikit-learn框架主成分分析(Principal C…...

还在花钱订购SSL证书吗?out啦!
SSL(Secure Sockets Layer)证书,以及其后续版本TLS(Transport Layer Security)证书,扮演了保护用户数据免遭窃听和篡改的核心角色。这些证书能够确保数据在客户端与服务器之间传输时的加密性与完整性&#…...
【GoLang基础】函数体的注意事项和细节讨论
在 Go 语言(Golang)中,函数是程序的基本构建块之一。理解函数的定义和使用是掌握 Go 语言的重要步骤。下面是关于 Go 语言中函数体的详细解释,包括函数的定义、参数传递、返回值以及闭包等方面。 1. 函数的定义 在 Go 语言中&am…...

YOLOv8训练流程-原理解析[目标检测理论篇]
关于YOLOv8的主干网络在YOLOv8网络结构介绍-CSDN博客介绍了,为了更好地学习本章内容,建议先去看预测流程的原理分析YOLOv8原理解析[目标检测理论篇]-CSDN博客,再次把YOLOv8网络结构图放在这里,方便随时查看。 1.前言 YOLOv8训练…...
实战使用Java代码操作Redis
实战使用Java代码操作Redis 1. 背景说明2. 单连接方式3. 连接池方式1. 背景说明 在工作中, 如果有一批数据需要初始化, 最方便的方法是使用代码操作Redis进行初始化。 Redis提供了多种语言的API交互方式, 这里以Java代码为例进行分析。 使用Java代码操作 Redis 需要借助…...

微信小程序之九宫格抽奖
1.实现效果 2. 实现步骤 话不多说,直接上代码 /**index.wxml*/ <view class"table-list flex fcc fwrap"><block wx:for"{{tableList}}" wx:key"id"><view class"table-item btn fcc {{isTurnOver?:grayscale…...

车牌检测识别功能实现(pyqt)
在本专题前面相关博客中已经讲述了 pyqt + yolo + lprnet 实现的车牌检测识别功能。带qt界面的。 本博文将结合前面训练好的模型来实现车牌的检测与识别。并用pyqt实现界面。最终通过检测车牌检测识别功能。 1)、通过pyqt5设计界面 ui文件如下: <?xml version="1…...

工业派-配置Intel神经计算棒二代(NCS2)
最近两天在工业派ubuntu16.04上配置了Intel神经计算棒二代——Intel Neural Compute Stick,配置过程之艰辛我都不想说了,实在是太折磨人。不过历尽千辛万苦,总算让计算棒可以在工业派ubuntu16.04系统上跑了,还是蛮欣慰的。 注&…...
深度学习中常见的九种交叉验证方法汇总
目录 1. K折交叉验证(K-fold cross-validation) 2. 分层K折交叉验证(Stratified K-fold cross-validation) 3. 时间序列交叉验证(Time Series Split) 4. 留一交叉验证(Leave-One-Out Cross-…...

企业建网站流程
企业建网站是一个复杂而繁琐的过程,需要根据企业的需求和目标进行规划、设计、开发和运营。以下是企业建网站的一般流程,主要包括以下几个步骤: 第一步:需求分析 企业建网站的第一步是进行需求分析。这个过程需要与企业负责人和相…...
Laravel通过phpSpreadsheet合并excel
背景 最近有一个需求,需要将所有excel文件的sheet合并到一个文件。 目前我们处理表格使用的是xlswriter这个插件,对于数据量比较大的话非常好用。...

CTF网络安全大赛web题目:just_sqli
这道题目是bugku的web题目 题目的 描 述: KosenCTF{} 原文链接: CTF网络安全大赛web题目:just_sqli - 红客网-网络安全与渗透技术 题目Web源代码: <?php$user NULL; $is_admin 0;if (isset($_GET["source"])) {highlig…...

Java入门基础学习笔记27——生成随机数
Random的使用:生成随机数。 随机数应用: 随机点名: 年会抽奖: 猜数字游戏: 密码学。 查看API文档: package cn.ensource.random;import java.util.Random;public class RandomDemo1 {public static voi…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...

【1】跨越技术栈鸿沟:字节跳动开源TRAE AI编程IDE的实战体验
2024年初,人工智能编程工具领域发生了一次静默的变革。当字节跳动宣布退出其TRAE项目(一款融合大型语言模型能力的云端AI编程IDE)时,技术社区曾短暂叹息。然而这一退场并非终点——通过开源社区的接力,TRAE在WayToAGI等…...
基于Uniapp的HarmonyOS 5.0体育应用开发攻略
一、技术架构设计 1.混合开发框架选型 (1)使用Uniapp 3.8版本支持ArkTS编译 (2)通过uni-harmony插件调用原生能力 (3)分层架构设计: graph TDA[UI层] -->|Vue语法| B(Uniapp框架)B --&g…...

Ray框架:分布式AI训练与调参实践
Ray框架:分布式AI训练与调参实践 系统化学习人工智能网站(收藏):https://www.captainbed.cn/flu 文章目录 Ray框架:分布式AI训练与调参实践摘要引言框架架构解析1. 核心组件设计2. 关键技术实现2.1 动态资源调度2.2 …...
Electron简介(附电子书学习资料)
一、什么是Electron? Electron 是一个由 GitHub 开发的 开源框架,允许开发者使用 Web技术(HTML、CSS、JavaScript) 构建跨平台的桌面应用程序(Windows、macOS、Linux)。它将 Chromium浏览器内核 和 Node.j…...

SQLSERVER-DB操作记录
在SQL Server中,将查询结果放入一张新表可以通过几种方法实现。 方法1:使用SELECT INTO语句 SELECT INTO 语句可以直接将查询结果作为一个新表创建出来。这个新表的结构(包括列名和数据类型)将与查询结果匹配。 SELECT * INTO 新…...