Текст на странице можно выделить мышкой или с клавиатуры.

Сам выделенный текст можно получить например так
window.parent.gBrowser.contentDocument.getSelection();

А вот отслеживать что появилось/изменилось выделение через
window.addEventListener("mouseup", RdsTB_OnSelection, false);
window.addEventListener("keyup", RdsTB_OnSelection, false);
по-моему как-то глючно.

Какие еще есть способы (правильные)?

На

Выделить код

Код:

document.getSelection();

консоль явно пишет, что

Deprecated method document.getSelection() called.  Please use window.getSelection() instead.

И лучше

Выделить код

Код:

document.commandDispatcher.focusedWindow.getSelection();

, потому как бывают фреймы.

И можно поизучать AutoCopy.

Как-то так, наверное:

Выделить код

Код:

function getSelection() {
	var fe = document.commandDispatcher.focusedElement;
	if(fe) try {
		return fe.value.substring(fe.selectionStart, fe.selectionEnd);
	}
	catch(e) {}
	return document.commandDispatcher.focusedWindow.getSelection();
}

(Вроде бы, начиная с Firefox 1.5, обертка из XPCNativeWrapper создается автоматически, но могу и ошибаться.)

18-08-2009 00:17:40
А без mouseup и keyup, по-видимому, никак. =/ Несмотря на
Правка – Выделить все
и прочие радости.

Deprecated method document.getSelection() called.  Please use window.getSelection() instead

Да, это в 3.5. начало писать, раньше вроде бы это нормальный способ был.
За AutoCopy спасибо. Искал подобное.

А без mouseup и keyup, по-видимому, никак

Мда, как-то это странно.
Вообще впечатления от FF dev противоречивые. Спасает только подсматривание в похожие аддоны.