我目前正在开发一个网络应用程序,上面的权力已经决定用我们自己的应用程序特定的菜单覆盖浏览器的右键菜单是要走的路。
我完全不同意。我觉得当有人使用网络浏览器时,他们对使用指针设备的右键单击功能时会发生什么有一定的期望,并且通过故意取代此功能来违反这些期望对用户来说非常令人不安(烦人?) .
你怎么看?您是否见过在 Web 应用程序中做得很好的右键单击?我的意思是,您实际上认为,“是的,这个右键单击功能是一个很棒的决定。”?
我目前正在开发一个网络应用程序,上面的权力已经决定用我们自己的应用程序特定的菜单覆盖浏览器的右键菜单是要走的路。
我完全不同意。我觉得当有人使用网络浏览器时,他们对使用指针设备的右键单击功能时会发生什么有一定的期望,并且通过故意取代此功能来违反这些期望对用户来说非常令人不安(烦人?) .
你怎么看?您是否见过在 Web 应用程序中做得很好的右键单击?我的意思是,您实际上认为,“是的,这个右键单击功能是一个很棒的决定。”?
这通常不是一个好主意:
用户,尤其是高级用户,希望能够右键单击桌面应用程序中的元素,以获得元素特定操作的菜单。对于 Web 应用程序不存在这种期望 - 实际上,期望是右键单击网页将为您提供标准的网页菜单,您可以在其中打印、在新窗口中打开链接、查看源代码等。
因为覆盖内置菜单的能力在过去被滥用(主要是天真的程序员试图禁用保存图像),许多浏览器禁止它或使客户端代码难以以可靠的方式覆盖。
如果您正在创建一个 Web 应用程序,该应用程序与现有的知名桌面应用程序的行为非常相似,那么投入所需的精力来实现合理的右键单击菜单可能是合适的。但是,您还应该遵循桌面应用程序中这些菜单的通常建议:使用它们来提供对特定于上下文的操作的快速访问,同时也提供访问相同功能的另一种方式。
不,因为它根本无法被发现。当然,这取决于应用程序,但可能用户不知道右键单击。
当用户在 Web(“Internet”)上时,他们希望使用一个按钮。想想所有在使用您的网站时遇到问题的 Apple Mighty Mouse 用户。
向老板证明这个想法是否可行的最简单方法:对真实用户进行测试。无论如何,你应该这样做。
Google Docs 是唯一一个我很欣赏任何尝试使用右键单击功能的网络应用程序;他们已经将其实施到位。
更新:澄清一下,我认为实现很棒,因为谷歌文档(整个网站/应用程序)非常擅长让你忘记你在网络浏览器中。
又想一想:不要!在 IE6/7/8、Firefox 2/3、Chrome、Safari 和其他鲜为人知的浏览器和版本之间,全面支持听起来像是一场噩梦。除非您的用户数以百万计,否则仅进行测试可能就是避免它的充分理由。
Shog9 的回答是对您问题的最佳直接回答,但在 Web 应用程序中避免使用上下文菜单的另一个原因是,它是摆脱使用上下文菜单的绝佳机会。
大多数 Windows 和 *nix GUI 应用程序严重依赖上下文菜单来实现它们的大部分功能。Mac OS 历来因其高可用性而受到称赞的一个原因是,真正的菜单选项和工具栏元素比上下文菜单更受青睐,上下文菜单很快成为嵌套列表的贫民区(尤其是在允许其他应用程序嵌入功能的情况下)。
Web 应用程序对 UI 设计师来说是一股清新的空气,正是因为界面必须可用且功能强大,无需使用右键菜单。此外,令人惊讶的是,普通用户不会被 Web 应用程序中的新 UI 范式吓倒,而在桌面上进行实验通常是令人厌恶的。
因此,浏览器内应用程序的时代是开发人员重新思考 UI 范例的绝佳机会。右键菜单是网络上的一种逃避。
这取决于应用程序的类型。我一直认为这是一个坏主意,但网络应用程序一直在越来越接近桌面应用程序。所以我问了可用性大师(尼尔森),令人惊讶的是,他完全支持右键单击!
...当应用程序不支持右键单击时,高技能用户通常会感到失望——例如,如果它是在 Flash 中实现的,并且会调出 Flash 播放器菜单而不是上下文适当的应用程序命令。
右键单击菜单在 Web 应用程序中运行良好。只要您的用户了解发生了什么。有几种可用的上下文菜单实现。Outlook Web Access 提供了用于处理电子邮件的上下文菜单。
由于在网站上很少使用右键单击,我会说这是一个坏主意,不会被视为“最佳实践”。
如果您做的事情与互联网上几乎所有网站不同,那么您就要求您的用户花时间学习您的应用程序/网站。
此外,Mac 用户传统上没有 2 个鼠标按钮,并且并非所有 Mac 用户都知道如何通过使用选项单击组合或现在的任何方式“右键单击”。
因此,除非您确实有有效的案例,否则我不会这样做。
我注意到FCKeditor有一个右键单击上下文菜单...在此示例中可能有意义,因为所见即所得编辑器通常提供给没有 HTML 经验和更多 Microsoft Word 经验的人,在这种情况下,他们期望右键单击以对他们正在输入的文本执行某些操作。
我通常会说这是不好的做法。浮动模式就足够了吗?
如果它是一个网站,这是一个坏主意。用户很快就会对破坏他们喜欢的浏览器功能的网站感到恼火。不要那样做:)
如果它是一个 Web应用程序,这不一定是一个坏主意,但您仍然应该谨慎。
考虑是否:
是的:你应该有上下文菜单。 其实,你别无选择。浏览器会给你一个右键菜单,但唯一的上下文是网页。因此,当您单击订单行时,例如,浏览器将为您提供诸如返回、另存为、查看源代码和打印等操作。你可能对这些不满意。所以问题是:你想用更适合上下文的东西来覆盖这些吗?随着网络应用越来越像桌面应用,答案将越来越是肯定的。
我认为拥有右键单击功能是个坏主意。
对于普通的 Web 应用程序来说,这不是一个好主意。我已经在 flash/silverlight “web” 应用程序中看到了它,用户期望它更像是一个“桌面”应用程序。
我认为这在很大程度上取决于它是什么类型的应用程序。
例如,它在 Google 电子表格中很有意义 - 右键单击更像 Excel,并为您提供诸如允许您复制突出显示的单元格范围之类的选项 - 您无法通过常规右键单击来执行此操作菜单。
但除非你的 webapp 真的需要它,否则它可能只会惹恼用户。
这将取决于上下文。对于一个公共网站,我会反对它。对于 Web 应用程序,尤其是公司内部应用程序,我会更容易接受。
至于处理得很好的应用程序,我想到的是 Outlook 的 Web 版本。我经常使用它来访问公司电子邮件,我发现右键菜单功能非常有用。
一般来说,我不同意网络应用程序中的“右键单击菜单”,但如果必须的话,您必须添加一种与上下文菜单并排工作的替代方法,并且不依赖于用户体验。
不,它永远不会真正起作用,因为用户可以阻止您尝试超越它。