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

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

№121-01-2006 17:53:19

Sarin2.0
Участник
 
Группа: Members
Зарегистрирован: 18-01-2006
Сообщений: 58

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

Есть текст. Объект типа textNode. Человек его выделил по средствам провода курсором мыши с зажатой левой клавишей:)

Ну или ещё как-то.

Можноль получить этот текств программе JavaScript?

У текстареии есть substring, selectionStart и selectionEnd. Есть ли что-то похожее у укна?

Можноль какнибудь прочитать данные из буфера обмена?

ЗЫ: пишу для расширения.

Отсутствует

 

№221-01-2006 18:38:56

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

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

получение выделенного текста:

Выделить код

Код:

var x = window. getBrowser (). contentDocument. defaultView. getSelection ();

получение текста из буфера обмена (функция из расширения clippings):

Выделить код

Код:

function getTextFromClipboard () 
{
    var rv;
    var clipbd = Components. classes ["@mozilla.org/widget/clipboard;1"].
                 createInstance (Components. interfaces. nsIClipboard);
    var trans = Components. classes ["@mozilla.org/widget/transferable;1"].
                createInstance (Components. interfaces. nsITransferable);
    trans. addDataFlavor ("text/unicode");
    clipbd. getData (trans, clipbd. kGlobalClipboard);
    var str = {};
    var strLen = {};
    try
    {
        trans. getTransferData ("text/unicode", str, strLen);
    } 
    catch (e)
    {
      // Failed because there's nothing on the clipboard or the clipboard
      // contents isn't textual data
      return rv;
    }
    if (str)
        str = str. value. QueryInterface (Components. interfaces. nsISupportsString);
    if (str)
        rv = str. data. substring (0, strLen. value / 2);
    return rv;
}

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№321-01-2006 18:51:23

Sarin2.0
Участник
 
Группа: Members
Зарегистрирован: 18-01-2006
Сообщений: 58

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

Ой спасибо добрый человек.

Отсутствует

 

№421-01-2006 18:52:26

Sarin2.0
Участник
 
Группа: Members
Зарегистрирован: 18-01-2006
Сообщений: 58

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

А как с выделением можно сделать для обычной страницы? Не для расширения. А то я попробовал. Не получилось.

Отсутствует

 

№521-01-2006 19:12:37

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

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

точно так же - document. getSelection ();


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№621-01-2006 19:15:53

Sarin2.0
Участник
 
Группа: Members
Зарегистрирован: 18-01-2006
Сообщений: 58

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

Точняк. Я пробовал window.getSelection и полусал мат в консоли.

Где можно почитать про ЯвуСкрипт в ФФ. Не вообще про JS, а именно применительно к этому бровзеру.

Отсутствует

 

№721-01-2006 19:48:19

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

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

Sarin2.0 пишет

...
Где можно почитать про ЯвуСкрипт в ФФ...

Точнее, про DOM API, насколько я понимаю.

http://developer.mozilla.org/en/docs/DOM
www.xulplanet.com
Ну и на www.w3c.org.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№821-01-2006 20:51:19

Sarin2.0
Участник
 
Группа: Members
Зарегистрирован: 18-01-2006
Сообщений: 58

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

Да. DOM API. А в рунете есть чтонибудь?

ЗЫ: w3c? хм. А разве FF вообще нигде не выходит за рамки стандарта?

Отсутствует

 

№921-01-2006 21:35:34

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

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

Sarin2.0 пишет

Да. DOM API. А в рунете есть чтонибудь?
...

Возможно; мне не попадалось.

...
ЗЫ: w3c? хм. А разве FF вообще нигде не выходит за рамки стандарта?

Ничего не могу сказать по этому поводу. Я не знаток стандартов.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№1022-01-2006 08:54:24

Mash
Участник
 
Группа: Extensions
Зарегистрирован: 09-04-2005
Сообщений: 620
Веб-сайт

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

Sarin2.0 пишет

А разве FF вообще нигде не выходит за рамки стандарта?

Все браузеры так или иначе выходят за рамки стандартов, т.к. "практически все стандарты сосут" (c) мой

Отсутствует

 

№1122-01-2006 11:39:48

KDA
Участник
 
Группа: Extensions
Откуда: Ростов-на-Дону
Зарегистрирован: 09-10-2005
Сообщений: 430

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

ЗЫ: w3c? хм. А разве FF вообще нигде не выходит за рамки стандарта?

Я не могу преступить закон. Я и есть закон!

Это в том смысле, что Фокс на стандарты сам здорово влияет. Вернее, его разработка.

Отредактировано KDA (22-01-2006 11:49:59)


сорок два

Отсутствует

 

№1222-01-2006 21:20:20

Коля Дубр
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 25-03-2005
Сообщений: 31
Веб-сайт

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

Можноль получить этот текств программе JavaScript

Есть такая замечательная штука - DOM Inspector. Быстрее всего ИМХО решать такие вопросы с его применением. Выбираем #document слева, выбираем Javascript Object справа, изучаем свойства и методы. Находим getSelection() - похоже на правду, проверяем - работает.
Рекомендую потратить день-два на изучение объектной модели в DOM Inspector, поиграться с разными свойствами, чтоб в голове отложились. Ну и потом периодически проглядывать.

Отсутствует

 

Board footer

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