Определите режим «Overtype», используя Javascript - PullRequest
1 голос
/ 16 июля 2009

Мы создаем веб-приложение, которое заменит старое школьное приложение с зеленым экраном. В приложении с зеленым экраном, когда пользователь нажимает клавишу «Вставка» для переключения между режимами «Overtype» и «Insert», курсор изменяется, указывая, в каком режиме ввода находится пользователь. В IE (который является официальным браузером компании), введите «overtype». Режим также работает, но нет визуальной индикации того, включен ли режим избыточной печати, пока пользователь не начнет печатать и, возможно, неожиданно перезаписывает существующую информацию. Я хотел бы поставить какой-то визуальный индикатор на экране, если в режиме завышения.

Как вы можете определить, находится ли браузер в режиме «overtype» из Javascript?

Есть ли какое-либо свойство или функция, которую я могу запросить, чтобы определить, находится ли браузер в режиме переопределения? Даже решение для IE было бы полезно, поскольку наша корпоративная политика предписывает браузеру использовать IE7 (чистая пытка, кстати).

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

Обоснование этого вопроса:

Функциональность этой части приложения с зеленым экраном такова, что пользователь может выбирать из списка «предварительно отформатированных текстовых текстов».

сырой, например.

 
 The excess for this policy is: $xxxxxx       and max limit is:$xxxxxx
 Date of policy is:             xx/xx/xxxx    and expires     : xx/xx/xxxx
 Some other irrelevant text

После выбора этого «предварительно отформатированного текста» пользователь затем использовал бы overtype, чтобы заменить x действительными значениями, не нарушая выравнивание остальной части текста.

(Для ясности, они по-прежнему могут редактировать любую часть «предварительно отформатированного текста», если они того пожелают. Просто обычно они просто хотят заменить определенные части текста. Сохранение выравнивания важно, поскольку эти разделы текста могут оказаться в печатных документах.)

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

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

Ответы [ 3 ]

1 голос
/ 30 июля 2012

В IE вы можете использовать document.queryCommandValue("OverWrite").

Только для IE:

function isOverwriteEnabled() {
    try {
        // try the MSIE way
        return document.queryCommandValue("OverWrite");
    } catch (ex) {
        // not MSIE => not supported
        return false;
    }
}

Firefox, Chrome и Safari:

Поскольку Mac не поддерживает и не поддерживает клавишу «вставить», Safari никогда не будет поддерживать режим «вставки».

Для Chrome и Firefox режим «вставки» не рекомендуется для поддержки, поскольку у Mac его нет. (Также см. «Далее»)

Это также означает, что, поскольку Windows поддерживает режим «вставки», IE, скорее всего, всегда будет его поддерживать.

Кроме того:

В Firefox имеется отчет об ошибке , классифицируемый как "WontFix" в течение многих лет, поэтому клавиша "Вставить", вероятно, никогда не будет поддерживаться.

0 голосов
/ 16 июля 2009

Я предлагаю тщательно рассмотреть функцию «overtype». Это поведение имеет смысл в веб-контексте, вообще?

Какую утилиту предоставляет функция «overtype» в старой презентации ANSI, которая недоступна через Интернет?

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

Если целью является создание страницы, где:

  • по умолчанию режим вставки отключен
  • пользователь может активировать «режим вставки» для редактирования

... тогда почему бы не использовать входы динамической формы?

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

Как только редактирование завершено, ввод анализируется, страница обновляется, а ввод формы удаляется с дисплея.

Подойдет ли этот метод вашим потребностям?

0 голосов
/ 16 июля 2009

Проблема в том, что если пользователь нажимает клавишу вставки после входа на вашу страницу, вы можете легко отследить ее.

Но когда пользователь уже нажал клавишу вставки перед тем, как войти на вашу страницу, это кажется сложной задачей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...