Есть ли способ получить слово в контекстном меню в расширении Firefox? - PullRequest
5 голосов
/ 31 декабря 2011

Я пишу расширение Firefox, чтобы добавить элемент контекстного меню, и я могу получить как элемент DOM, так и выделенный текст, но не могу получить невыбранное слово, для которого было вызвано событие правого щелчка.Я предполагаю, что это должно быть возможно, поскольку проверка орфографии делает это, или это специальная встроенная функция?

Есть идеи?Вот код для получения двух других:

oncommand="if(gContextMenu.isTextSelected) rightClick(document.commandDispatcher.focusedWindow.getSelection().toString()); else rightClick(gContextMenu.target.innerHTML);"

1 Ответ

2 голосов
/ 05 января 2012

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

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

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

...