Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Быстрая цитата при помощи Proxomitron!
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Сайт Все о Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Fri Aug 25, 2006 17:06    Post subject: Reply with quote

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).
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Fri Aug 25, 2006 17:12    Post subject: Reply with quote

Что-то не помогает window.getSelection... Точно так же говорит, мол, пусто всё.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Fri Aug 25, 2006 17:16    Post subject: Reply with quote

А если убрать все if-ы и оставить только
Code:
var selection = window.getSelection();


... А то может где-то проваливается выше, хотя и возвращает пустую строку.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Fri Aug 25, 2006 17:20    Post subject: Reply with quote

Уже проверил.
Code:
function quoteSelection(name) {var selection=window.getSelection(); alert("line: "+selection); ...

На Опере 9.01, кстати, срабатывает правильно, а на Огнелисе выдаёт "line:" (пусто).
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Fri Aug 25, 2006 17:21    Post subject: Reply with quote

CaptainFlint
А попробуй-ка вот так:
Code:
window.getSelection().toString()

_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Fri Aug 25, 2006 17:24    Post subject: Reply with quote

Не идёт.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Fri Aug 25, 2006 17:31    Post subject: Reply with quote

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-а и браузера?
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Fri Aug 25, 2006 17:56    Post subject: Reply with quote

Ура! Нашёл относительно простой способ для Лисы! Сейчас обновлю архив в первом посте.

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

В Проксомитроне: Файл - Перезагрузить настройки по умолчанию. А браузера это вообще не касается, его и не надо перезапускать.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Fri Aug 25, 2006 18:21    Post subject: Reply with quote

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

Спасибо!

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

Чё-то я смотрю код и _совсем_ не понимаю, как это теперь работает. Так что, для хитрой Лисы это может и просто, а для обычного программера в конце пятницы - темный лес Smile
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Fri Aug 25, 2006 18:33    Post subject: Reply with quote

Ты, наверное, одну маленькую фичу не заметил. 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>

Соответственно, когда мыша наводится на ссылку-картинку, выделенный текст копируется в переменную, а в обработчике щелчка эта переменная используется, если ни один нормальный способ не сработал.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Mon Aug 28, 2006 21:35    Post subject: Reply with quote

Сделал аналогичную вещь для оф. форума по Тоталу. А то там можно только неименованные быстрые цитаты вставлять - ни ник (кстати, непонятно, почему - JS-функцию куда-то протеряли), ни именованные цитаты не добавить.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Tue Aug 29, 2006 09:49    Post subject: Reply with quote

CaptainFlint wrote:
Сделал аналогичную вещь для оф. форума по Тоталу. А то там можно только неименованные быстрые цитаты вставлять - ни ник (кстати, непонятно, почему - JS-функцию куда-то протеряли), ни именованные цитаты не добавить.

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

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

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

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

По-моему, это практичней.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Tue Aug 29, 2006 10:14    Post subject: Reply with quote

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

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

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

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

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

Лично мне это будет неудобно. Я пустую цитату никогда не вставляю. Соответственно, если случайно перед щелчком выделение по какой-то причине исчезнет, то мне мало того, что придётся заново выделять текст и щёлкать, так ещё нужно будет эту добавленную пустую цитату прибивать.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
StrangeRRor



Joined: 15 Jul 2006
Posts: 214

Post (Separately) Posted: Fri Sep 01, 2006 12:51    Post subject: Reply with quote

Для тех, у кого есть проблемы с ипользованием Proxomitron в FireFox.
Есть расширение BBCode Extra, кторое позволяет вставлять быстрые цитаты в сообщение, отличие (недостаток) - имя нужно вводить вручную.
Back to top
View user's profile Send private message
Staniclaw



Joined: 12 Dec 2010
Posts: 533
Location: Ташкент

Post (Separately) Posted: Sun Jun 17, 2012 19:08    Post subject: Reply with quote

Сам постоянно использую "Проксомитрон" для удаления рекламных блоков с часто посещаемых сайтов. Поставил ещё эти четыре фильтра, остался доволен.
Есть, правда, замечание.
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-код.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Сайт Все о Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group