Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№117-08-2009 23:21:21

oleg.butko
Участник
 
Группа: Members
Зарегистрирован: 16-06-2009
Сообщений: 27
UA: Firefox 3.5

Как правильно получать выделенный текст?

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

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

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

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

Отсутствует

 

№218-08-2009 00:13:39

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.5

Re: Как правильно получать выделенный текст?

На

Выделить код

Код:

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, по-видимому, никак. =/ Несмотря на
Правка – Выделить все
и прочие радости.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№318-08-2009 13:07:13

oleg.butko
Участник
 
Группа: Members
Зарегистрирован: 16-06-2009
Сообщений: 27
UA: Firefox 3.5

Re: Как правильно получать выделенный текст?

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

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

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

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

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]