>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Как получить текст, который чел выделил на странице? http://forum.mozilla-russia.org/viewtopic.php?id=7749 |
Sarin2.0 > 21-01-2006 17:53:19 |
Есть текст. Объект типа textNode. Человек его выделил по средствам провода курсором мыши с зажатой левой клавишей Ну или ещё как-то. Можноль получить этот текств программе JavaScript? У текстареии есть substring, selectionStart и selectionEnd. Есть ли что-то похожее у укна? Можноль какнибудь прочитать данные из буфера обмена? ЗЫ: пишу для расширения. |
Anton > 21-01-2006 18:38:56 |
получение выделенного текста: получение текста из буфера обмена (функция из расширения 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; } |
Sarin2.0 > 21-01-2006 18:51:23 |
Ой спасибо добрый человек. |
Sarin2.0 > 21-01-2006 18:52:26 |
А как с выделением можно сделать для обычной страницы? Не для расширения. А то я попробовал. Не получилось. |
Anton > 21-01-2006 19:12:37 |
точно так же - document. getSelection (); |
Sarin2.0 > 21-01-2006 19:15:53 |
Точняк. Я пробовал window.getSelection и полусал мат в консоли. Где можно почитать про ЯвуСкрипт в ФФ. Не вообще про JS, а именно применительно к этому бровзеру. |
Anton > 21-01-2006 19:48:19 |
Sarin2.0 пишет
Точнее, про DOM API, насколько я понимаю. http://developer.mozilla.org/en/docs/DOM |
Sarin2.0 > 21-01-2006 20:51:19 |
Да. DOM API. А в рунете есть чтонибудь? ЗЫ: w3c? хм. А разве FF вообще нигде не выходит за рамки стандарта? |
Anton > 21-01-2006 21:35:34 |
Sarin2.0 пишет
Возможно; мне не попадалось.
Ничего не могу сказать по этому поводу. Я не знаток стандартов. |
Mash > 22-01-2006 08:54:24 |
Sarin2.0 пишет
Все браузеры так или иначе выходят за рамки стандартов, т.к. "практически все стандарты сосут" (c) мой |
KDA > 22-01-2006 11:39:48 |
Это в том смысле, что Фокс на стандарты сам здорово влияет. Вернее, его разработка. |
Коля Дубр > 22-01-2006 21:20:20 |
Есть такая замечательная штука - DOM Inspector. Быстрее всего ИМХО решать такие вопросы с его применением. Выбираем #document слева, выбираем Javascript Object справа, изучаем свойства и методы. Находим getSelection() - похоже на правду, проверяем - работает. |