Отмена контекстного меню, вызываемого правой кнопкой мыши в веб-браузерах - плюсы и минусы

Мы программируем веб-приложение (не «просто» веб-сайт, а с точки зрения функциональности реальное приложение) и обсуждаем следующую версию:

  • наш дизайнер пользовательского интерфейса хочет заменить контекстное меню браузера, вызываемое правой кнопкой мыши (показывающее наше собственное меню, где это необходимо, или полное отсутствие меню), потому что он хочет, чтобы веб-приложение было больше похоже на наше (существующее) приложение для Windows
  • наши разработчики (и я) категорически возражают, потому что это плохая практика и просто то, что вы не делаете в веб-приложении

Таким образом, я ищу «более веские» аргументы - такие как рекомендации по передовой практике, любые утверждения из авторитетных источников, аргументы кодирования и т. Д. - для плюсов и минусов этой проблемы, которые я надеюсь использовать, чтобы решить ее раз и навсегда. ...


person ISW    schedule 17.03.2009    source источник
comment
Я очень разочарован ответами на этот вопрос. Пауло Гедес, находящийся внизу, имел правильный ход мысли, но не дал ответа. Я создаю веб-приложение, которое буду использовать только я. Мне бы хотелось, чтобы эта функция была в моем приложении, но никто не смог дать хорошего ответа (большинство из них предлагают return false;, но мне нужно, чтобы сценарий продолжился после того, как был сделан щелчок.   -  person dclowd9901    schedule 20.06.2011


Ответы (8)


В любом случае вы не можете сделать это надежно. В Firefox перейдите в «Настройки», «Содержание», «JavaScript / Advanced» (я предполагаю, что заголовки, без английского Firefox (;), чтобы переопределить поведение контекстного меню и бах, ваше приложение больше не работает. Мое приложение для онлайн-банкинга сделало это в их старая версия, поэтому я не мог копировать и вставлять с помощью мыши. Я ненавидел ее, поэтому я включил защиту в Firefox, и она сработала. В некотором роде. Их новая версия больше не делает таких плохих вещей.

Вместо этого используйте небольшую стрелку раскрывающегося списка там, где необходимо контекстное меню, которое можно щелкнуть или просто навести указатель мыши, чтобы отобразить меню. Веб-приложение JetBrains TeamCity отлично справляется с этим.

person OregonGhost    schedule 17.03.2009
comment
web.whatsapp.com отменяет контекстное меню контактов, вызываемое щелчком правой кнопкой мыши. Возможно, за 8 лет многое изменилось. Например: stackoverflow.com/questions/4909167/ - person KhoPhi; 04.03.2016

Если ваше приложение должно запускаться в интрасети, возможно, аргументы разработчика пользовательского интерфейса допустимы: если все пользователи приложения хорошо известны и вы хотите имитировать какое-то приложение Windows, я думаю, что можно ограничить щелчок правой кнопкой мыши или любой другой ввод, потому что это просто требования этого приложения, как и любого другого приложения.

Но если ваше приложение должно запускаться в Интернете, отключение или замена щелчка правой кнопкой мыши - очень плохая идея, и это лишь некоторые из аргументов, о которых я напомнил:

  • Во-первых, изменение поведения пользовательского интерфейса агрессивно и раздражает - никто не хочет привыкать к «новым элементам управления» только для доступа к вашему сайту, и, как правило, люди не любят покидать свою зону комфорта. То есть, я знаю, что делает мой правый щелчок, и хочу, чтобы он всегда делал одно и то же.

  • Люди могут понять разницу между приложениями Windows и веб-приложениями, поэтому нет необходимости «имитировать поведение приложений Windows».

  • Не все используют Windows :-)

  • Кроме того, это вредно, поскольку есть несколько способов перезаписать это поведение, например, настройки в Firefox или даже плагины, отключающие определенные инструкции javascript, такие как этот.

person Paulo Guedes    schedule 17.03.2009
comment
Вам не нужен плагин, чтобы переопределить поведение в Firefox. Это флажок в параметрах. - person Adam Jaskiewicz; 17.03.2009

в зависимости от вашей аудитории у вас есть очень хорошие шансы, что ваши пользователи даже не ЗНАЮТ, что есть меню, вызываемое правой кнопкой мыши. Поэтому, пожалуйста, не делайте это единственной альтернативой

person Scott Evernden    schedule 17.03.2009

Я лично считаю, что вам следует оставить поведение браузера по умолчанию в покое ... пользователи привыкли к ним, поэтому нет необходимости приучать их к вашему способу работы.

Однако, если вы создаете интрасеть (а не общедоступный сайт), я за то, чтобы как можно больше настроить, чтобы улучшить удобство использования.

person Seb    schedule 17.03.2009

Аргумент, который я бы использовал (в кавычках для драматического эффекта):

Отсутствие согласованности и ограниченная функциональность по сравнению с другими беспрепятственными веб-интерфейсами приведет к потере доверия пользователей, что, мягко говоря, нежелательно.

Конечно, если многие или большинство пользователей веб-приложений уже знакомы с приложением Windows или являются постоянными пользователями, дизайнер пользовательского интерфейса может быть на правильном пути, и согласованность с приложением Windows может стать решающим фактором. победитель.

Тем не менее, на мой взгляд, сложно сделать настраиваемое контекстное меню на веб-странице интуитивно понятным, и, хотя некоторым пользователям это может понравиться, я предполагаю, что большинство из них, вероятно, никогда не будут его использовать.

person karim79    schedule 17.03.2009

потому что он хочет, чтобы веб-приложение было больше похоже на наше (существующее) приложение для Windows

Я считаю, что щелкать правой кнопкой мыши в приложении для Windows - плохая идея.

В веб-браузере это катастрофа пользовательского интерфейса, потому что этого никто не ожидает.

person Jimmy J    schedule 17.03.2009

Я думаю, это зависит от того, воспринимаете ли вы контекстное меню как часть браузера Chrome или нет. Если вы это сделаете (и я приписываю это представление), то это должно быть не по назначению, но в остальном это хорошее место для добавления некоторой юзабилити вашему приложению.

person troelskn    schedule 17.03.2009

Замена контекстного меню браузера, вызываемого правой кнопкой мыши, для определенных областей вашего графического интерфейса из вашего веб-приложения может быть весьма полезной. Выполнение этого действия только для отключения контекстного меню будет раздражать ваших пользователей, которые могут попытаться найти способ обойти это. Кроме того, удаление или замена контекстного меню браузера, вызываемого правой кнопкой мыши во всей области приложения, обычно раздражает и может затруднить отладку.

К сожалению, я не могу предложить более веских аргументов, и я не совсем придерживаюсь обеих сторон аргумента, но я подумал, что поделюсь своим опытом как разработчика веб-приложения, так и веб-пользователя.

person Eddie    schedule 17.03.2009