代码之家  ›  专栏  ›  技术社区  ›  Olivier Lalonde Danny

为什么“右键单击”不能在Web应用程序中使用得更多?

  •  40
  • Olivier Lalonde Danny  · 技术社区  · 16 年前

    越来越多的应用程序正在向云端移动:google docs for productivity apps、meebo for instant messaging、gmail for e-mail、salesforce for crm等。

    然而,我注意到,与桌面应用程序不同,很少有Web应用程序能利用鼠标的“右键单击”。大多数时候,当右键点击一个网络应用程序时,我会得到标准的浏览器右键点击菜单。

    我不认为这与技术实现有关,因为在JavaScript中修改右键单击菜单是非常简单的。

    我失踪的真正原因是什么?

    编辑: 最流行的原因似乎是 不是用户期望的 . 另一个提到的原因是一些用户禁用了javascript——这是一个有效的答案——但是 在我们的例子中 ,我们可以放弃这种可能性,因为我们谈论的是需要JavaScript的应用程序 不管 右键单击选项。

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

    • 你认为应该保持这种状态吗(你真的觉得默认的浏览器右键单击菜单有用吗)?
    • 是否希望看到更多特定于应用程序的右键单击菜单,以便改进用户界面?
    16 回复  |  直到 15 年前
        1
  •  38
  •   Ignacio Vazquez-Abrams    16 年前

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

        2
  •  24
  •   alex    15 年前

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

    即使是在Windows应用程序上,大多数普通用户(不是程序员或超级用户)也不会在他们想做某件事的时候想右键单击,如果他们没有用心去学习去做他们想做的给定任务。

    (右键单击大多数网页会弹出一个普通用户无法理解的菜单,因此他们不会再尝试一次。)

    因此,无论如何,您必须提供另一种操作方法。

        3
  •  15
  •   Thilo    16 年前

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

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

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

        4
  •  4
  •   Jan Jongboom    16 年前

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

        6
  •  3
  •   Boldewyn    16 年前

    只是为了完整:歌剧没有 oncontextmenu 和 no simple 右键单击时可以取消上下文菜单。

        7
  •  2
  •   Seth    16 年前

    通过右键单击让javascript控制,可以得到如下效果: http://periodic.lanl.gov/elements/24.html .我真的很喜欢这个网站,但是它试图阻止我复制文本或图片(不管它想做什么)严重干扰了我的网络使用模式。我 总是 打开其他选项卡中的内容。我 总是 右击菜单访问“后退”命令。

    当某个网站在某个地方有一个Flash动画,它偷走了我的控制键(所以我不能再这样做了),这也让我恼火不已。 Ctrl键 + 标签 切换到另一个选项卡。

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

        8
  •  2
  •   Joonas Pulakka    16 年前

    正如其他人所说,这是由于历史和用户习惯了什么。但我想这最终会改变,因为Web应用程序越来越重要;目前,Web应用程序是“Web浏览器”应用程序中的“网页”,当你想到它时,这很奇怪。不再是网络浏览器有趣了,而是网络应用。为什么要在一个叫做“浏览器”的地方运行?至少对用户来说,它不应该那么突出,即使从技术上讲它是有意义的。

    实际上,我们在谷歌Chrome上看到了这一点。它绝对比以前任何东西都要简约。这几乎是一个“通往网络的简单窗口”。

        9
  •  2
  •   Michael Zuschlag    16 年前

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

    让_s诚实点:我们不为专家做这些事情的原因是因为我们不想为额外的工作而烦恼,而不是因为担心将用户与意想不到的事情混淆。这是一个有效的观点:一个典型的web应用比一个桌面应用的使用要少。_专家_因此,很少有人使用Web应用程序来发现和使用专家功能。那么,为什么要将资源投入到对那么少的用户有利的事情上呢?

    尽管如此,我还是想鼓励设计师在他们的Web应用程序中使用特定于应用程序的右键单击菜单。如果你想让你的应用像桌面应用一样可用,这是必要的。如果您有特定于应用程序的右键单击菜单,请遵循以下规则:

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

    • 不要删除仍然相关的浏览器右键单击命令。用户仍然可以在页面上保存图像、复制文本块以及在新选项卡中打开链接等操作。事实上,您应该尽可能地保持浏览器命令的顺序。一般来说,遵循菜单项组织和顺序的标准。这解决了右键单击菜单出乎意料的问题:只要相同的命令的顺序几乎相同,右键单击浏览器命令的用户就不必为此付出任何代价。

    • 始终使用右键单击菜单。所有可以有特定于应用程序的命令的东西都应该可以通过右键单击来使用这些命令。如果用户必须开始猜测什么是正确的,而没有右键点击菜单,他们只会放弃。另一方面,如果他们发现一个物品的话,它会鼓励他们去其他地方尝试,而你想奖励他们。

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

        10
  •  1
  •   Jeremy McGee    16 年前

    这不是用户期望的。

    它也不是特别“可发现”:就像以前的flash网站,你必须将鼠标滚动到一个图形上才能让网站做些什么,右键点击不一定是直观的。

        11
  •  1
  •   jathanism    16 年前

    你不应该因为一个我们称之为最佳实践的小东西而摆弄右键点击!不要剥夺我作为用户的权利来控制我的体验!我想我的右键单击做什么右键单击做!

    最佳实践是让用户可以选择这类事情。如果要修改此行为,请使其成为用户可以在其配置文件或应用程序设置中控制的行为。

    例如:

    (click to enable)
    [ ] Use super special awesome right-click menu 
    
        12
  •  1
  •   Joris Timmermans    16 年前

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

        13
  •  0
  •   Stefano Borini    16 年前

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

    有点有趣的是,事实上,最吹嘘的缺点是单键鼠标,然后是世界上最常用的界面,即网络,是以单键为中心的。

        14
  •  0
  •   Chris    16 年前

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

        15
  •  0
  •   H4cKL0rD    16 年前

    正如我在你的文章中所读到的,这是真的,在上下文菜单中,它可能会与一些事情相混淆,但由于我有一个btoolbar,它会浮动,让我的网站做任何事情,你可以使用键盘快捷键,所以我看到了一个温和和厄运的未来,右键点击,我看到了所有的工具栏,今天网站上的每个人都有这样的工具栏。

        16
  •  0
  •   Filip Ekberg    16 年前

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

    如果你要和某人谈论网络上的可用性,并且你有“隐藏”功能,这些功能只在右键点击(浏览器上下文菜单弹出)时才可见,那么这可能被视为糟糕的设计,因为大多数用户不习惯这样的想法:网络正在演变成不仅仅是链接和左键点击(导航点击g)。