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

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

但是,我注意到,与桌面设备不同的是,这些Web应用中很less有一些利用鼠标的“右键单击”。 大多数情况下,当在networking应用程序中右键单击时,我会看到标准的浏览器右键菜单。

我不相信它与技术实现有关,因为在Javascript中修改右键菜单是相当平凡的。

有没有一个真正的原因,我失踪了?

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

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

  • 你认为它应该保持这种方式(你真的觉得默认的浏览器右键菜单有用)?
  • 你想看到更多的特定于应用程序的右键菜单,他们可以改善用户界面吗?

大多数用户期望右键菜单popup浏览器的上下文菜单,所以这样做,以提出一个应用程序特定的菜单是不是他们会尝试。

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

即使在Windows应用程序中,如果大多数普通用户(而不是程序员或超级用户)希望做某事,他们也不会认为要点击右键,如果他们没有完全按照自己的意愿去学习,

(右键单击大多数网页会popup一个普通用户不理解的菜单,所以他们不会尝试多一次。)

所以你总是必须提供另一种方式来完成操作。

我相信一个对Web应用程序非常有效的方法是保持所有浏览器function的启用,例如后退button,在新标签中打开东西,书签,更改字体大小等等。

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

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

这不是人们习惯在浏览器中工作的方式,您不应该更改默认行为。 用户在右键单击时并不期待发生什么事情。

覆盖Web浏览器中的右键单击上下文菜单 – 优点和缺点

只是为了完整性:Opera没有oncontextmenu , 没有简单的可能性,禁止右键点击上下文菜单。

通过右键点击给予javascript控制,就像这样: http : //periodic.lanl.gov/elements/24.html 。 我真的很喜欢这个网站,但它试图阻止我复制文本或图像(无论它试图做什么)严重干扰我的networking使用模式。 我总是打开其他标签中的东西。 我总是右键菜单来访问“后退”命令。

当一些网站有一个Flashanimation的某个地方窃取了我的控制键时(这样我不能再按Ctrl + Tab来翻转到另一个选项卡) ,这也激怒了我。

我的底线: Web应用程序不能取代本地计算机的内置命令。 如果Web应用程序开始接pipe控制键,右键单击等,它已经跨越了本地和远程应用程序之间的界限。 这是保持晶莹剔透的重要线索。

正如其他人所说,这是由于历史和用户习惯。 但是,我猜这最终会改变,因为Web应用程序变得越来越重要。 目前的networking应用程序是“网页浏览器”应用程序中的“网页”,当你想到这个时候,这很奇怪。 Web浏览器不再是有趣的事情,它是Web应用程序。 为什么它应该在所谓的“浏览器”内运行? 至less对用户来说不应该是那么突出,即使它在技术上可能是有意义的。

其实我们用Google Chrome来看这个。 这绝对比以前任何事物都要简单。 这几乎是一个“普通的networking窗口”。

右键单击是桌面应用程序和浏览器中的专家快捷方式。 专家喜欢它,而非专家忽视它,或者只是通过死记硬背的方式来使用它,而没有真正理解它(他们可能只是因为一些专家用户告诉他们而使用它)。 没关系。 只为专家提供一些东西,无论是对于胖客户端还是Web应用程序,都没有任何问题。 所以,当然,如果networking应用程序包含特定于应用程序的右键单击菜单,它将会更好。 如果他们包括他们的命令的加速键,他们的下拉菜单的助记符,双击默认行为,拖放select,复制和移动,而我们正在支持专家的话题,他们也会更好。

说实话:我们不为专家做这些事情的原因是因为我们不想为额外的工作而烦恼,也不想为用户混淆意外而烦恼。 这是一个有效的观点:一个典型的Web应用程序使用比桌面应用程序less。 “专家”的networking应用程序用户是非常罕见的 – 使用Web应用程序足以发现和使用专家function。 那么为什么把资源投入到这么less的用户中呢?

尽pipe如此,我想鼓励devise师在他们的networking应用程序中使用特定于应用程序的右键单击菜单。 如果您希望自己的应用程序与桌面应用程序一样可用,那么这是非常必要的。 如果确实有特定于应用程序的右键单击菜单,请遵循以下规则:

  • 所有右键单击菜单命令应该可以通过单独的方式,如侧边栏菜单。 右键单击是一个专家快捷方式,您需要以非常习惯的方式为非专家提供相同的function。 尽pipe浏览器(如MS Internet Explorer)公然侵犯了这个规则,但这个规则是一个标准(例如MS Windows)。 此规则还解决了禁用JavaScript的用户的关注。

  • 不要删除浏览器右键单击仍然相关的命令。 用户仍然可以做一些事情,比如在页面上保存图像,复制文本块,并在新标签中打开链接。 事实上,你应该尽可能保持浏览器命令的顺序。 一般来说,遵循菜单项目组织和顺序的标准。 这解决了右键单击菜单意外的问题:只要相同的命令以几乎相同的顺序存在,对于用于右键单击浏览器命令的用户来说,这是没有成本的。

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

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

这不是用户所期望的。

这也不是特别“可发现”的:就像老式的Flash网站,你必须把鼠标放在graphics上才能让网站去做点什么,右键点击不一定是直观的。

您不应该因为一个我们称之为最佳实践的小东西而捣鼓点击右键! 不要拿走我的权利作为用户来控制我的经验! 我想要我的右键单击来做什么右键点击做!

最好的做法是使这种东西可选用户。 如果要修改此行为,请将其设置为用户可以在其configuration文件或应用程序设置中进行控制。

例如:

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

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

这是由于浏览器的概念(以浏览器为中心)和使用Web应用程序(以应用程序为中心,浏览器只是渲染器)之间的不一致。 在第二种情况下右键单击button是有意义的,但是由于网页是为了浏览资源而制作的,这就引入了一种模棱两可的问题,它可能永远不会被解决。

有趣的是,最受欢迎的苹果机缺陷是单键鼠标,然后是世界上最常用的界面 – networking,是单键中心。

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

正如我在你的最后anwser阅读这是真的这将是在上下文菜单中可能会混淆一些事情,但因为我疯了一个btoolbar thta浮动我的网站做任何事情,你可以使用键盘快捷键,所以我看到一个温和的厄运未来的右键点击所有我看到今天在网站上的每一个工具栏

我看到两个原因。 首先,人们可能已经closures了javascript,今天这可能不是最大的问题,但是从web-dev开始就一直是关注开发者的。 这给我们带来了第二个原因,这不是用户所期望的。

如果您要在networking上与某人讨论可用性问题,并且只有在右键单击(浏览器上下文菜单popup窗口)时才显示“隐藏”function,那么这可能会被视为糟糕的devise,因为大多数用户不是使用的想法,networking正在发展成不仅仅是链接和左键单击(导航点击)。