выделенный текст(на странице в браузере) я получаю через document.commandDispatcher.focusedWindow.getSelection(), вследствии чего при уходе фокуса из окна браузера куда-нибудь (в моём случае он уходит, когда я выбираю menulist в тулбаре своего расширения) вышеуказанная конструкция возвращает пустую строку вместо выделения. Такой способ получения выделения я скатал, кажется, из Lingvo-online, другого не знаю :). Можно как-нибудь получить выделение вне зависимости от положения фокуса?

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

Masletso пишет

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

ну вообще, вариант. Но я, если честно рыл в сторону нахождения окна с html-страницей, и вызова getSelection() у него. Пока эксперементирую со свойством "content", похоже то что нужно. Насколько я понимаю это и есть окно в котором расположен html(ну или другой какой) - документ.

window.content - это как бы ты вызвал window в самой странице.
если хочешь так, то просто getSelection я помню что в документе не очень работает в Мозилле (могу ошибаться, я когда-то писал скрипт вставки текста под курсор и вместо выделенного текста).
Ну в общем, если у тебя есть скрипт, просто локальный (не из xul вызывается) который запоминает выделенный текст, то чтоб он вызывался из xul приложения надо чтоб там где ты обращается к документу страницы через document, надо будет через window._content.document