Быстрая цитата при помощи Proxomitron!
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3  Next  :| |:
Total Commander -> Сайт Все о Total Commander

#16:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 17:06
    —
CaptainFlint
Вот что нашел:
Quote:
Gecko (the renderer behind Firefox, Mozilla, et al) has a window.getSelection() method which has similar functionality to IEs document.selection() proprietry mechanism.

Добавь еще один else if (window.getSelection).

#17:  Author: CaptainFlintLocation: Москва PostPosted: Fri Aug 25, 2006 17:12
    —
Что-то не помогает window.getSelection... Точно так же говорит, мол, пусто всё.

#18:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 17:16
    —
А если убрать все if-ы и оставить только
Code:
var selection = window.getSelection();


... А то может где-то проваливается выше, хотя и возвращает пустую строку.

#19:  Author: CaptainFlintLocation: Москва PostPosted: Fri Aug 25, 2006 17:20
    —
Уже проверил.
Code:
function quoteSelection(name) {var selection=window.getSelection(); alert("line: "+selection); ...

На Опере 9.01, кстати, срабатывает правильно, а на Огнелисе выдаёт "line:" (пусто).

#20:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 17:21
    —
CaptainFlint
А попробуй-ка вот так:
Code:
window.getSelection().toString()

#21:  Author: CaptainFlintLocation: Москва PostPosted: Fri Aug 25, 2006 17:24
    —
Не идёт.

#22:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 17:31
    —
CaptainFlint wrote:
Не идёт.

Хм... Тогда я пас. Хотя, порылся в поиске, вроде все должно работать:
Quote:
if (window.getSelection) { selection = window.getSelection().toString(); }
else if (document.getSelection) { selection = document.getSelection(); }
else if (document.selection) { selection = document.selection.createRange().text; }



Кстати, вопрос.
А можно ли после изменения default.cfg чтоб изменения вступили в силу без перегрузи Proxomitron-а и браузера?

#23:  Author: CaptainFlintLocation: Москва PostPosted: Fri Aug 25, 2006 17:56
    —
Ура! Нашёл относительно простой способ для Лисы! Сейчас обновлю архив в первом посте.

Batya wrote:
А можно ли после изменения default.cfg чтоб изменения вступили в силу без перегрузи Proxomitron-а и браузера?

В Проксомитроне: Файл - Перезагрузить настройки по умолчанию. А браузера это вообще не касается, его и не надо перезапускать.

#24:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 18:21
    —
CaptainFlint wrote:
В Проксомитроне: Файл - Перезагрузить настройки по умолчанию. А браузера это вообще не касается, его и не надо перезапускать.

Спасибо!

CaptainFlint wrote:
Ура! Нашёл относительно простой способ для Лисы!

Чё-то я смотрю код и _совсем_ не понимаю, как это теперь работает. Так что, для хитрой Лисы это может и просто, а для обычного программера в конце пятницы - темный лес Smile

#25:  Author: CaptainFlintLocation: Москва PostPosted: Fri Aug 25, 2006 18:33
    —
Ты, наверное, одну маленькую фичу не заметил. Wink
Вот код с форматированием:
Code:
var text_to_add = '';

function copy_add_text() {
   var txt = '';
   if (document.getSelection) {
      txt = document.getSelection()
   } else if (document.selection) {
      txt = document.selection.createRange().text;
   }
   if (txt != '') {
      text_to_add = txt;
   }
}

function quoteSelection(name) {
   var selection;
   if (document.getSelection) {
      selection = document.getSelection()
   } else if (document.selection) {
      selection = document.selection.createRange().text;
   }
   if (selection == '') {
      selection = text_to_add;
   }
   if (selection) {
      input_add_text('[quote="' + name + '"]' + selection + '[/quote]\\n');
   } else {
      alert('Выделите фрагмент текста и повторите операцию!');
   }
}

А в ссылку картинки добавляется вызов обработчика:
Code:
<a href="javascript:quoteSelection('Batya')" onMouseOver="copy_add_text()"><img src="data:image/png;base64,iVBORw....gg%3D%3D"></a>

Соответственно, когда мыша наводится на ссылку-картинку, выделенный текст копируется в переменную, а в обработчике щелчка эта переменная используется, если ни один нормальный способ не сработал.

#26:  Author: CaptainFlintLocation: Москва PostPosted: Mon Aug 28, 2006 21:35
    —
Сделал аналогичную вещь для оф. форума по Тоталу. А то там можно только неименованные быстрые цитаты вставлять - ни ник (кстати, непонятно, почему - JS-функцию куда-то протеряли), ни именованные цитаты не добавить.

#27:  Author: BatyaLocation: Москва, Россия PostPosted: Tue Aug 29, 2006 09:49
    —
CaptainFlint wrote:
Сделал аналогичную вещь для оф. форума по Тоталу. А то там можно только неименованные быстрые цитаты вставлять - ни ник (кстати, непонятно, почему - JS-функцию куда-то протеряли), ни именованные цитаты не добавить.

ОК. Только, к сожалению, мне это не надо (у меня с языками туго), а других, судя по постам в теме, эта фича не интересует.

Мне все же интересно другое:
CaptainFlint wrote:
Соответственно, когда мыша наводится на ссылку-картинку, выделенный текст копируется в переменную, а в обработчике щелчка эта переменная используется, если ни один нормальный способ не сработал.

Почему в FireFox аналогичная js-функция нормально отрабатывает при наведении мыши и не отрабатывает при щелчке по ссылке? Ведь по сути в обоих случаях проверяются только document.getSelection() и document.selection.createRange().

Кстати, я у себя сделал, что если текст не выделен, вставляется:
Code:
[quote][/quote]

По-моему, это практичней.

#28:  Author: CaptainFlintLocation: Москва PostPosted: Tue Aug 29, 2006 10:14
    —
Batya wrote:
Только, к сожалению, мне это не надо (у меня с языками туго), а других, судя по постам в теме, эта фича не интересует.

Да я особо и не предполагал, что все тут же кинутся расхватывать. Smile Делал изначально для себя, кому пригодится - хорошо, нет - ну и ладно. Smile

Batya wrote:
Почему в FireFox аналогичная js-функция нормально отрабатывает при наведении мыши и не отрабатывает при щелчке по ссылке? Ведь по сути в обоих случаях проверяются только document.getSelection() и document.selection.createRange().

Видимо из-за того, что при щелчке выделение снимается. Обрати внимание: ты только нажимаешь ссылку - а выделение уже снято. Отпускаешь кнопку мыши - запускается скрипт, пытается получить выделенный текст, а его уже и нетути. А когда только наводишь мышу он ещё выделен, ну и сохраняется.

Batya wrote:
Кстати, я у себя сделал, что если текст не выделен, вставляется:
Code:
[quote][/quote]

Лично мне это будет неудобно. Я пустую цитату никогда не вставляю. Соответственно, если случайно перед щелчком выделение по какой-то причине исчезнет, то мне мало того, что придётся заново выделять текст и щёлкать, так ещё нужно будет эту добавленную пустую цитату прибивать.

#29:  Author: StrangeRRor PostPosted: Fri Sep 01, 2006 12:51
    —
Для тех, у кого есть проблемы с ипользованием Proxomitron в FireFox.
Есть расширение BBCode Extra, кторое позволяет вставлять быстрые цитаты в сообщение, отличие (недостаток) - имя нужно вводить вручную.

#30:  Author: StaniclawLocation: Ташкент PostPosted: Sun Jun 17, 2012 19:08
    —
Сам постоянно использую "Проксомитрон" для удаления рекламных блоков с часто посещаемых сайтов. Поставил ещё эти четыре фильтра, остался доволен.
Есть, правда, замечание.
CaptainFlint wrote:
и заменить на, соответственно,
Code:
<a href="javascript:quoteSelection('\2')"><img src="file:///C:\\<путь>\\reply.png"></a>

(не забыть про двойные бек-слеши!)
В указании абсолютного пути нет необходимости. "Проксомитрон" создаёт псевдодомен local.ptron. В файл hosts ему для этого лезть не нужно, он просто перехватывает запросы туда (браузерный-то трафик весь всё равно идёт через него). По адресу local.ptron/.pinfo/ "Проксомитрон" показывает краткую информацию о своём состоянии, позволяя также просмотреть список последних запрошенных адресов и содержимое блок-списков (причём отформатированными для удобного просмотра).

А вот корень этого псевдодомена содержит файлы, которые помещены в подпапку HTML программной папки прокси-сервера. Там уже лежит кое-что: в частности, картинки, используемые в сообщениях "Проксомитрона" о каких-либо ошибках; Ява-скрипты, используемые кое-какими входящими в комплект поставки фильтрами; стили и т. п. Я закинул туда ещё справку на обоих языках, favicon.ico, с мясом выдранный из исполняемого файла и кое-что по мелочи.

В эту подпапку HTML и нужно закинуть reply.png (local.ptron/reply.png).

CaptainFlint wrote:
Batya wrote:
А можно ли после изменения default.cfg чтоб изменения вступили в силу без перегрузи Proxomitron-а и браузера?

В Проксомитроне: Файл - Перезагрузить настройки по умолчанию. А браузера это вообще не касается, его и не надо перезапускать.
Перезапускать "Проксомитрон", не сохранив изменения, не стоит: вы их потеряете. Потеряете вы их и последовав процитированному совету, потому что указанный пункт меню "Перезагрузить настройки по умолчанию" (Ctrl+R) сбрасывает изменения, в отличие от располагающегося через место от него пункта "Сохранить конфигурацию" (Ctrl+S), аналогичного по действию первой кнопке (с зелёной дискетой), т. е. сохраняющего их.

Изменения вступают в силу сразу после сохранения (вышеупомянутые пункт меню, сочетание клавиш и кнопка). Перезапуск "Проксомитрона" не требуется. Перезапуск же браузера бессмысленен, потому что настройки относятся только к обработке трафика самим "Проксомитроном" -- браузеру неоткуда знать, что он вообще получает изменённый HTML-код.



Total Commander -> Сайт Все о Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3  Next  :| |:
Page 2 of 3

Powered by phpBB © 2001, 2005 phpBB Group