为什么在Web应用程序中不再使用“右键单击”?

时间:2010-01-13 07:22:07

标签: javascript web-applications user-interface

越来越多的应用程序正在转向云:用于生产力应用程序的Google Docs,用于即时消息传递的Meebo,用于电子邮件的Gmail,用于CRM的Salesforce等。

然而,我注意到,与桌面版同行不同,这些网络应用中很少有人利用鼠标的“右击”。大多数情况下,当右键单击Web应用程序时,我会获得标准浏览器右键菜单。

我不相信它与技术实现有关,因为在Javascript中修改右键菜单非常简单。

我缺少一个真正的原因吗?

编辑:最受欢迎的原因似乎是不是用户所期望的。另一个提到的原因是一些用户禁用Javascript - 这是一个有效的答案 - 但在我们的情况下 ,我们可以放弃这种可能性,因为我们讨论的是需要Javascript 的应用程序右键单击选项。

现在,让我稍微扩展一下我的问题:

  • 你认为它应该保持这种状态(你真的发现默认浏览器右键菜单有用吗?)
  • 您是否希望看到更多特定于应用程序的右键菜单,以改善用户界面?

16 个答案:

答案 0 :(得分:38)

大多数用户都希望右键单击菜单显示浏览器上下文菜单,因此不会尝试使用特定于应用程序的菜单。

答案 1 :(得分:24)

Mac没有“鼠标右键”,同样有很多触摸屏手机等。

即使在Windows应用程序上,大多数普通用户(不是程序员或高级用户)在想要做某事时都不会想到右键点击,如果他们没有全心全意地去学习他们希望做的特定任务。

(同样右键点击大多数网页会显示普通用户不理解的菜单,因此他们不会再尝试一次。)

所以你总是必须提供另一种方法来进行操作。

答案 2 :(得分:15)

我认为一种非常有效的Web应用程序方法是仍然启用所有浏览器功能,例如后退按钮,在新选项卡中打开内容,添加书签,更改字体大小等等。

浏览器的右键单击上下文菜单是我不想被应用程序带走的东西。

现在,当您开始将Web应用程序从浏览器移动到自己的窗口(将其转换为专用应用程序,例如Fluid,以及我相信Chrome OS将会)时,没有URL栏和后退按钮,那么我们可以谈谈上下文菜单。

答案 3 :(得分:4)

人们不习惯在浏览器中工作,不应该更改默认行为。当用户右键单击时,用户不会期待会发生什么。

答案 4 :(得分:3)

答案 5 :(得分:3)

为了完整起见:Opera没有oncontextmenuno simple可以在右键单击时禁止上下文菜单。

答案 6 :(得分:2)

正如其他人所说,这是由于历史和用户习惯的原因。但我猜这最终将会发生变化,因为Web应用程序越来越重要;目前网络应用程序是“网页浏览器”应用程序中的“网页”,当您考虑它时,这非常奇怪。网络浏览器不再是有趣的东西,它是网络应用程序。为什么它应该在一个叫做“浏览器”的东西里面运行?至少它不应该对用户来说是显着的,即使它在技术上可能有意义。

实际上我们通过Google Chrome看到了这一点。它绝对比以前的任何东西都更简约。它几乎是一个“通向Web的窗口”。

答案 7 :(得分:2)

通过右键单击实现javascript控制可以为您提供以下内容:http://periodic.lanl.gov/elements/24.html。我真的很喜欢这个网站,但它试图阻止我复制文本或图像(无论它想做什么)严重干扰我的网络使用模式。我总是在其他标签页中打开内容。我始终右键菜单以访问“后退”命令。

当某个网站的某个地方有一个窃取我的控制键的flash动画时,这也让我感到非常恼火(所以我不能再 Ctrl + Tab 翻到另一个标签。

我的底线: Web应用程序无法取代本地计算机的内置命令。如果Web应用程序开始接管控制键,右键单击等,它已越过本地和远程应用程序之间的界限。这是非常重要的一条线,以保持清晰。

答案 8 :(得分:2)

右键单击是桌面应用程序和浏览器中的专家快捷方式。专家喜欢它,而非专家忽略它或仅在特定情况下使用它而不真正理解它(他们可能只使用它,因为一些专家用户告诉他们)。没关系。为专家提供一些东西,无论是对于胖客户端还是Web应用程序,都没有错。因此,当然,如果Web应用程序包含特定于应用程序的右键单击菜单,那么它们会更好。如果它们包括用于命令的加速键,用于下拉菜单的助记符,用于默认操作的双击,以及用于选择,复制和移动的拖放,它们也会更好,而我们在支持专家的主题上。

说实话:我们不为专家做这些事情的原因是因为我们不想被额外的工作所困扰,而不是出于对意外混淆用户的担忧。这是一个有效的观点:典型的网络应用程序使用的不如桌面应用程序。因此,“专家”Web应用程序用户很少使用Web应用程序来发现和使用专家功能。那么,为什么要将资源投入到能够让很少用户受益的东西上呢?

尽管如此,我想鼓励设计师在他们的网络应用程序中使用特定于应用程序的右键菜单。如果您希望您的应用程序与桌面等效应用程序一样可用,则是必要的。如果您确实有特定于应用程序的右键单击菜单,请遵循以下规则:

  • 所有右键单击菜单命令都应通过单独的方式提供,例如侧边栏菜单。通过右键单击是专家快捷方式,您需要以他们习惯的方式为非专家提供对相同功能的访问权限。该规则是标准(例如,MS Windows),尽管浏览器(例如,MS Internet Explorer)公然违反它。此规则还解决了禁用Javascript的用户的担忧。

  • 请勿删除仍然相关的浏览器右键单击命令。用户应该仍然可以执行诸如在页面上保存图像,复制文本块以及在新选项卡中打开链接等操作。实际上,您应该尽可能地保持浏览器命令的顺序。通常,请遵循菜单项组织和订单的标准。这解决了右键菜单意外的问题:只要相同的命令存在于几乎相同的顺序中,用户右键单击浏览器命令就没有成本。

  • 始终使用右键单击菜单。可以使用特定于应用程序的命令的所有内容都应该通过右键单击来提供这些命令。如果用户必须开始猜测什么有没有右键菜单,他们就会放弃它。另一方面,如果他们发现一个项目,它会鼓励他们在别处尝试,你想要奖励它。

  • 通过在广告,演示和文档中显示用于特定于应用程序的命令来鼓励右键单击。您可能还希望明确显示页面上的下拉箭头(可能只是鼠标悬停),只要特定于应用程序的右键单击可用。一些专家用户无论如何都会发现你的应用程序特定的命令,因为他们右键单击浏览器命令,但在许多情况下,浏览器右键单击命令是如此无益,即使专家没有右键单击,所以你可能必须“推”它有点。

答案 9 :(得分:1)

这不是用户的期望。

它也不是特别“可被发现”:就像老式的Flash网站一样,你必须在图形上滚动鼠标以使网站做某事,右键点击不一定是直观的。

答案 10 :(得分:1)

你不应该因为我们称之为最佳实践的小事而摆弄右键!不要剥夺我作为用户控制我的体验的权利!我希望我的右键点击进行正确的点击操作!

最佳做法是使用户可选择此类事物。如果要修改此行为,请将其设置为用户可以在其配置文件或应用程序设置中控制的内容。

例如:

(click to enable)
[ ] Use super special awesome right-click menu 

答案 11 :(得分:1)

另外,因为有些人可能没有双键鼠标(我正在看着你,苹果用户)。

答案 12 :(得分:0)

这是由于浏览概念(以浏览器为中心)与使用Web应用程序(以应用程序为中心,浏览器仅为渲染器)之间的不一致。在第二种情况下,右键单击按钮是有意义的,但由于Web是为浏览资源而设置的,这会引入一种可能永远无法解决的模糊性。

有趣的是,Mac中最受欢迎的缺点是单按钮鼠标,然后世界上最常用的界面是网络,以单按钮为中心。

答案 13 :(得分:0)

我看到两个原因。首先,人们可能关闭了javascript,今天这可能不是最大的问题,但自从web-dev出现以来,它一直在关注开发人员。这带来了第二个原因,它不是用户所期望的。

如果您要与某人谈论网络上的可用性并且您有“隐藏”功能,这些功能仅在右键单击时显示(浏览器上下文菜单弹出窗口),这可能会因为大多数用户而被视为糟糕的设计并不认为网络正在演变成不仅仅是链接和左键单击(导航点击)。

答案 14 :(得分:0)

就个人而言,我唯一能做到的就是我写了一个在插件中运行的应用程序,它模拟了某种编辑器。 Silverlight现在有这种能力,但我会谨慎使用它。

答案 15 :(得分:0)

当我在你的forst anwser中读到这是真的它会在上下文菜单中它可能会弄乱一些东西但是因为我疯了一个btoolbar thta浮动我的网站做任何你可以使用键盘快捷键所以我看到一个右键点击的温和和厄运未来我今天在网站上看到每个工具栏