Yan
...
Proxomitron ругается:
...
и запускается с настройками по-умолчанию.
При этом Firefox виснет пока не закроешь Proxomitron.
Надо указать путь к конфигурационному файлу, т. е., если он в каталоге proxomitron'а, то
...
var arguments=['C:\\Program Files\\Proxomitron\\Dimanish.cfg'];
...
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
Надо указать путь к конфигурационному файлу, т. е., если он в каталоге proxomitron'а, то
Точно, спасибо. Странно, что из командной строки без пути запускается, а из FF-нет.
petrovich
После установки, расширение не появляется в менеджере расширений. FF 2.0a3
Не подтверждаю. Скачал FF 2.0a3, создал новый профиль - всё успешно установилось. Другие расширения ставятся успешно?
WaRdeN69
А опишите собствено говоя для чего данное расширение
Описание: Позволяет добавлять собственные кнопки на панели инструментов.
Что-то не ясно?
Отсутствует
из командной строки без пути запускается, а из FF-нет.
У меня и из командной строки не запускается без указания пути.
p.s. хочется шрифт вроде Courier и tab/shift-tab на отступы, а в userchrome лень не пускает...
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Не подтверждаю. Скачал FF 2.0a3, создал новый профиль - всё успешно установилось. Другие расширения ставятся успешно?
Это мой косяк. Раньше в Firefox расширения сортировались соответственно порядку установки(первым поставил - первым в списке), теперь по алфовиту. Вот не туда и посмотрел. Всё нормально, расширение в списке присутствует.
Отсутствует
а вообще есть кнопка переключения между альбомами скрапбука.... но я сомневаюсь, что её можно реализовать.
так можно такое сотворить или нет?
"всё-равно его не брошу, потому что Лис хороший!" (c) Ewgen
Отсутствует
Yan
Спасибо за ответ.Ещё раз: отличная работа.
Ну и самое важное: твоя сборка в Firefox 1.5.0.x не работает...
Подтверждаю.
Ну вот! Меня разбанили. Сам виноват, много оффтопика...
1. Искренне извинияюсь перед автором этого замечательного расширения и перед всеми остальными участниками форума, за свое наглое вмешательство.
2. Да, действительно не работает, потому, что я лопухнулся и сохранил chrome.manifest и install.rdf в формате UTF-8... С ЗАГОЛОВКОМ... А это 3 кракозябры, на которые ФФ2.0 не обращает внимания, а вот ФФ1.5 от этого клинит по черному.
3. Пока ты не выпустил финальную версию выкладываю Lain_fix_2. По крайней мере исправлю свой баг Ж).
4. Жду Custom_Buttons_0.0.1_final . Да и все остальные, я думаю, тоже.
з.ы.: я вообще выкладывал свой первый фикс для тех, кому нужна русско/английская версия... а вот как вышло...
з.з.ы.: по поводу размещения номера версии в названии. во-первых... да, действительно, это не мое дело, где ты собираешся размещать номер версии плагина. но есть у меня подозрение, что при поиске обновлений оно смотрит в поле номера версии... на предмет изменения. во-вторых, почему я все же предложил изменить способ именования плагина в списке... дело в том, что твое расширение единственное с номеров версии в названии... от этого, по большому счету, никому ни холодно, ни жарко, но видимо выработался какой-то стандарт. когда выйдет финальная версия, подозреваю, что она будет достойна немедленного размещения на оф. сайте мозилы или где нибуть рядом в сборнике расширений. (т.е. выход на мировой уровень). а поэтому стоит все же придерживаться хоть и негласных но правил.
з.з.з.ы.: интересно, а можно ли в кнопки встраивать локализацию их названий? или возможно ли это встроить в финальную версию расширения?
Отредактировано Lain_13 (01-06-2006 11:01:50)
Отсутствует
хотелось бы, чтобы при нажатии на bb-кнопки средней кнопкой в поле вставлялся текст из буфера обрамленный тегами. так вот, как получить содержимое буфера обмена?
!
Отсутствует
...как получить содержимое буфера обмена?
http://forum.mozilla.ru/viewtopic.php?pid=77068#p77068
(http://xulplanet.com/tutorials/xultu/clipboard.html)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Спасибо, вот что получилось...
custombutton://BB%3A%20%u043F%u043E%u043B%u0443%u0436%u0438%u0440%u043D%u044B%u0439%5D%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAPcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAEALAAAAAAQABAAAAg4AAMIHEiwoMGDCBMaBMCwIcOEDQVGPDhx4sKHASwWdKhxI8aOAytivAhA4kiCHEEqXMmypcuBAQEAOw%3D%3D%5D%5B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bb%5D%22%3B%0Avar%20close%3D%22%5B/b%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20theBox.value.substring%28startPos%2C%20endPos%29%3B%0Aif%28event.button%3D%3D1%29%0A%20%20%7B%0Avar%20clip%20%3D%20Components.classes%5B%22@mozilla.org/widget/clipboard%3B1%22%5D.getService%28Components.interfaces.nsIClipboard%29%3B%0Avar%20trans%20%3D%20Components.classes%5B%22@mozilla.org/widget/transferable%3B1%22%5D.createInstance%28Components.interfaces.nsITransferable%29%3B%0Atrans.addDataFlavor%28%22text/unicode%22%29%3B%0Aclip.getData%28trans%2Cclip.kGlobalClipboard%29%3B%0Avar%20str%20%3D%20new%20Object%28%29%3B%0Avar%20strLength%20%3D%20new%20Object%28%29%3B%0Atrans.getTransferData%28%22text/unicode%22%2Cstr%2CstrLength%29%3B%0Aif%20%28str%29%20str%20%3D%20str.value.QueryInterface%28Components.interfaces.nsISupportsString%29%3B%0Aif%20%28str%29%20pastetext%20%3D%20str.data.substring%280%2CstrLength.value%20/%202%29%3B%0A%20%20%7D%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
custombutton://BB%3A%20%u043F%u043E%u0434%u0447%u0435%u0440%u043A%u043D%u0443%u0442%u044B%u0439%5D%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAPcAAAAAAHt7ewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAIALAAAAAAQABAAAAg+AAUIHEiwoMGDBwEoBCBgIcOEDxtGNKhwYEWEFyUi1CgwI8WIHgtmDElQYQABAUiWdLix5UeHC13KnElTYEAAOw%3D%3D%5D%5B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bu%5D%22%3B%0Avar%20close%3D%22%5B/u%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20theBox.value.substring%28startPos%2C%20endPos%29%3B%0Aif%28event.button%3D%3D1%29%0A%20%20%7B%0Avar%20clip%20%3D%20Components.classes%5B%22@mozilla.org/widget/clipboard%3B1%22%5D.getService%28Components.interfaces.nsIClipboard%29%3B%0Avar%20trans%20%3D%20Components.classes%5B%22@mozilla.org/widget/transferable%3B1%22%5D.createInstance%28Components.interfaces.nsITransferable%29%3B%0Atrans.addDataFlavor%28%22text/unicode%22%29%3B%0Aclip.getData%28trans%2Cclip.kGlobalClipboard%29%3B%0Avar%20str%20%3D%20new%20Object%28%29%3B%0Avar%20strLength%20%3D%20new%20Object%28%29%3B%0Atrans.getTransferData%28%22text/unicode%22%2Cstr%2CstrLength%29%3B%0Aif%20%28str%29%20str%20%3D%20str.value.QueryInterface%28Components.interfaces.nsISupportsString%29%3B%0Aif%20%28str%29%20pastetext%20%3D%20str.data.substring%280%2CstrLength.value%20/%202%29%3B%0A%20%20%7D%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
custombutton://BB%3A%20%u043A%u0443%u0440%u0441%u0438%u0432%5D%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAPcAAAAAAHt7e4SEhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAMALAAAAAAQABAAAAgyAAcIHEiwoMGDCBMqBMCQoUKBDAU8HBDA4USGASZWBDBxAEaNFh9+XNgwZMeTKFMqDAgAOw%3D%3D%5D%5B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bi%5D%22%3B%0Avar%20close%3D%22%5B/i%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20theBox.value.substring%28startPos%2C%20endPos%29%3B%0Aif%28event.button%3D%3D1%29%0A%20%20%7B%0Avar%20clip%20%3D%20Components.classes%5B%22@mozilla.org/widget/clipboard%3B1%22%5D.getService%28Components.interfaces.nsIClipboard%29%3B%0Avar%20trans%20%3D%20Components.classes%5B%22@mozilla.org/widget/transferable%3B1%22%5D.createInstance%28Components.interfaces.nsITransferable%29%3B%0Atrans.addDataFlavor%28%22text/unicode%22%29%3B%0Aclip.getData%28trans%2Cclip.kGlobalClipboard%29%3B%0Avar%20str%20%3D%20new%20Object%28%29%3B%0Avar%20strLength%20%3D%20new%20Object%28%29%3B%0Atrans.getTransferData%28%22text/unicode%22%2Cstr%2CstrLength%29%3B%0Aif%20%28str%29%20str%20%3D%20str.value.QueryInterface%28Components.interfaces.nsISupportsString%29%3B%0Aif%20%28str%29%20pastetext%20%3D%20str.data.substring%280%2CstrLength.value%20/%202%29%3B%0A%20%20%7D%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
custombutton://BB%3A%20%u0446%u0438%u0442%u0430%u0442%u0430%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACCklEQVR42mL8//8/AyUAIICYGCgEAAFEsQEAAUSxAQABxAIiurq6OM+cOZPPx8fHaWZm1rp8+fLEDx8+aGVmZrZKSEgwT5s2rRPIFwKyj/38+fPbmzdvvHh5eV/v27cvGiCAwAY8fPgwfvfu3Q3e3t5Vx48fD7hy5UonNzf3opcvX34FSiuePHkyEGgAj6ys7P9v3759fPv2rSsPD88nkF6AAAJ7YceOHbFSUlLb+fn5Jx09ejRORkbmkomJSVVtbe1XZmZmVmBMMYLUsbOzf/n37x9YDysr63cQDRBAYM6TJ09kfv/+fXbz5s18QNO1vn//fnHNmjVfQHKioqLP/fz85ggKCr4DGsAVEhKyXkND4yJQPTtIHiCAGKDp4BnQSYcUFBSagBoeA/k3gC5Ki42N5QXJL1y4kEdVVfWks7PzBhA/NTW1AqjuHYgNEECwWPj79etXWyYmpkigLT+AfHU2NrbYI0eO8IEkga7i//HjhxQQXwfxgeJqwAB9BWIDBBDMAHagZoa/f/8yAp3GBhL4/Pnz36CgoH8LFizgX7Vq1XSggQympqbLBQQEEq5fvx6hq6u7AqQOIIDAsQAMtBPAwBIGmvoAaAsH0GnvhYWFL8rJyf3g5OQUBrrun7q6egGQfQsY1VE6OjozgXITQXoBAoiR0rwAEEAUp0SAAKLYAIAAotgAgAADANuDzfQSUmlqAAAAAElFTkSuQmCC%5D%5B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bquote%5D%22%3B%0Avar%20close%3D%22%5B/quote%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20theBox.value.substring%28startPos%2C%20endPos%29%3B%0Aif%28event.button%3D%3D1%29%0A%20%20%7B%0Avar%20clip%20%3D%20Components.classes%5B%22@mozilla.org/widget/clipboard%3B1%22%5D.getService%28Components.interfaces.nsIClipboard%29%3B%0Avar%20trans%20%3D%20Components.classes%5B%22@mozilla.org/widget/transferable%3B1%22%5D.createInstance%28Components.interfaces.nsITransferable%29%3B%0Atrans.addDataFlavor%28%22text/unicode%22%29%3B%0Aclip.getData%28trans%2Cclip.kGlobalClipboard%29%3B%0Avar%20str%20%3D%20new%20Object%28%29%3B%0Avar%20strLength%20%3D%20new%20Object%28%29%3B%0Atrans.getTransferData%28%22text/unicode%22%2Cstr%2CstrLength%29%3B%0Aif%20%28str%29%20str%20%3D%20str.value.QueryInterface%28Components.interfaces.nsISupportsString%29%3B%0Aif%20%28str%29%20pastetext%20%3D%20str.data.substring%280%2CstrLength.value%20/%202%29%3B%0A%20%20%7D%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
custombutton://BB%3A%20%u043A%u043E%u0434%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA60lEQVR42mL8//8/AyUAIICYGCgEAAFEsQEAAYQNKQHxfyieABWrRRJTQlYMEEBYNc9YtR2MoRoYsIjBDQEIIKyavTOb0RWC5ZJrJ2PIAQQQTs2g2EHH2AwBCCCQIIeNkweGzTgMwHAJQACBBLkUdC3BArqOgSDBSAaIE7AZADdk6dYD/+W0Tf8DBBAoGhk5GX+AZbx8A0DUMjwhDRK/C9TMsGzLYYZHV08zAAQQiqkgV5T3LcQV0nCbkb0KEEAYCnAYglMzQABhjUo0QxjwaQYIIEIpMQcqNgFXSgQIIEZKcyNAAFGcmQACDAB0jLqYK4uYbwAAAABJRU5ErkJggg%3D%3D%5D%5B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bcode%5D%22%3B%0Avar%20close%3D%22%5B/code%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20theBox.value.substring%28startPos%2C%20endPos%29%3B%0Aif%28event.button%3D%3D1%29%0A%20%20%7B%0Avar%20clip%20%3D%20Components.classes%5B%22@mozilla.org/widget/clipboard%3B1%22%5D.getService%28Components.interfaces.nsIClipboard%29%3B%0Avar%20trans%20%3D%20Components.classes%5B%22@mozilla.org/widget/transferable%3B1%22%5D.createInstance%28Components.interfaces.nsITransferable%29%3B%0Atrans.addDataFlavor%28%22text/unicode%22%29%3B%0Aclip.getData%28trans%2Cclip.kGlobalClipboard%29%3B%0Avar%20str%20%3D%20new%20Object%28%29%3B%0Avar%20strLength%20%3D%20new%20Object%28%29%3B%0Atrans.getTransferData%28%22text/unicode%22%2Cstr%2CstrLength%29%3B%0Aif%20%28str%29%20str%20%3D%20str.value.QueryInterface%28Components.interfaces.nsISupportsString%29%3B%0Aif%20%28str%29%20pastetext%20%3D%20str.data.substring%280%2CstrLength.value%20/%202%29%3B%0A%20%20%7D%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
custombutton://BB%3A%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABpUlEQVR42p2TP0gbURzHPxebwyEJVBw6aKZAxOUcbYYOpS0IRSgljVBMOLgxZA64SBY30RDp0HuEDraBQodChrQI/UNj3XRRoreYQfo3NF4kSo9ct4dHcsX4pvd77/v9/B7vva8CUKlU3E6nw7DDMAxFMU3TTSQSxGKxocyWZVGv1wkAvmYhBJqmoaoqmqYhhMBxHLrdrvTc8OsghODt6zXq7zZQ1RG6Z39YNPI4jkM6nZa6gB+gWCzy8sUGI73vXPz+SOB8j2crjyiVSh6dPIGqqn2Qm5P3aO0vyzoSHqXRaAwGAHxb0nFOmrKeKG8xNr3MZmmBubtTnNrnxONxf4Bz0uTv8ZFH8OnrLndmZ3j/ymD1+Wey2axnP/C/pyoUCuwc/gQgV/jCw8c5MpnM1QDlZpv780/40bLR8+tEo1F0Xe/T+QJ+PXjKwXELgPFbk9RqNarVap/OcwcT5S05317N8ebDvqz1/DrJZJJ2uz0YcDkLoVCI2zNTV/rSEuC6rly0bXuguNfrARAMBr0Ay7KuFaZIJIICYJqmO2yUw+EwqVRK+QdtIZCYwfQIRQAAAABJRU5ErkJggg%3D%3D%5D%5B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bimg%5D%22%3B%0Avar%20close%3D%22%5B/img%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20theBox.value.substring%28startPos%2C%20endPos%29%3B%0Aif%28event.button%3D%3D1%29%0A%20%20%7B%0Avar%20clip%20%3D%20Components.classes%5B%22@mozilla.org/widget/clipboard%3B1%22%5D.getService%28Components.interfaces.nsIClipboard%29%3B%0Avar%20trans%20%3D%20Components.classes%5B%22@mozilla.org/widget/transferable%3B1%22%5D.createInstance%28Components.interfaces.nsITransferable%29%3B%0Atrans.addDataFlavor%28%22text/unicode%22%29%3B%0Aclip.getData%28trans%2Cclip.kGlobalClipboard%29%3B%0Avar%20str%20%3D%20new%20Object%28%29%3B%0Avar%20strLength%20%3D%20new%20Object%28%29%3B%0Atrans.getTransferData%28%22text/unicode%22%2Cstr%2CstrLength%29%3B%0Aif%20%28str%29%20str%20%3D%20str.value.QueryInterface%28Components.interfaces.nsISupportsString%29%3B%0Aif%20%28str%29%20pastetext%20%3D%20str.data.substring%280%2CstrLength.value%20/%202%29%3B%0A%20%20%7D%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
custombutton://BB%3A%20%u0433%u0438%u043F%u0435%u0440%u0441%u0441%u044B%u043B%u043A%u0430%5D%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAKIAAGZmZgAAAP///8zMzP///////////////yH5BAEAAAQALAAAAAAQABAAAAMxSLrc/jBKCYK16lpAqhBDaH3hEHimpoqBEJhkWJkpq17iXFZnaXK8S0bDmRiPyGQyAQA7%5D%5B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Burl%5D%22%3B%0Avar%20close%3D%22%5B/url%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20theBox.value.substring%28startPos%2C%20endPos%29%3B%0Aif%28event.button%3D%3D1%29%0A%20%20%7B%0Avar%20clip%20%3D%20Components.classes%5B%22@mozilla.org/widget/clipboard%3B1%22%5D.getService%28Components.interfaces.nsIClipboard%29%3B%0Avar%20trans%20%3D%20Components.classes%5B%22@mozilla.org/widget/transferable%3B1%22%5D.createInstance%28Components.interfaces.nsITransferable%29%3B%0Atrans.addDataFlavor%28%22text/unicode%22%29%3B%0Aclip.getData%28trans%2Cclip.kGlobalClipboard%29%3B%0Avar%20str%20%3D%20new%20Object%28%29%3B%0Avar%20strLength%20%3D%20new%20Object%28%29%3B%0Atrans.getTransferData%28%22text/unicode%22%2Cstr%2CstrLength%29%3B%0Aif%20%28str%29%20str%20%3D%20str.value.QueryInterface%28Components.interfaces.nsISupportsString%29%3B%0Aif%20%28str%29%20pastetext%20%3D%20str.data.substring%280%2CstrLength.value%20/%202%29%3B%0A%20%20%7D%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
по поводу кнопки запуска внешний приложений - не мешало бы пути к ним брать из реестра...
!
Отсутствует
Имхо, в расширении необходимо сделать common-секцию для скриптов, т. е., скриптов, общих для всех кнопок.
Две кнопки для преобразования текстовых ссылок 'custombutton://' в реальные ссылки:
custombutton://%u041F%u0440%u0435%u043E%u0431%u0440%u0430%u0437%u043E%u0432%u0430%u0442%u044C%20%u043A%u043E%u0434%u044B%20custombuttons%20%u0432%20%u0441%u0441%u044B%u043B%u043A%u0438%20%28%u0441%u0442%u0440%u043E%u0433%u043E%u0435%20%u043F%u0440%u0435%u043E%u0431%u0440%u0430%u0437%u043E%u0432%u0430%u043D%u0438%u0435%29%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfWBgMQBxbn9GxKAAAAB3RJTUUH1gYDEBMzV1+MKAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADNQTFRF////mZmZMzMzZmZmzMzM/8yZ/5mZ/8xm/8wA///M/8wz/8zMzJmZ/5kA/5lmZmYz/5kzCyXdoQAAAAF0Uk5TAEDm2GYAAAB6SURBVHjaTc5bFsIgDATQCZOIJdZ2/6t1oNHKRwj3kAcaeZAVDACRXdcWAfiEI/rogT5GFCg9E3kqLGDu+1slmVXCiHwBNvMLsA7d/IY5QEO9YNMYNdRCVj/6c24iaQURD1xCB5qZ2uEWPVevryj+ARvXOj+oxBrrCD73jALvj0npfgAAAABJRU5ErkJggg%3D%3D%5D%5Bvar%20doc%20%3D%20getBrowser%20%28%29.%20contentDocument%3B%0Avar%20cbcodes%20%3D%20doc.%20evaluate%0A%28%0A%20%20%20%20%22//text%28%29%5Bstarts-with%28.%2C%27custombutton%3A//%27%29%5D%22%2C%0A%20%20%20%20doc%2C%20null%2C%20XPathResult.%20ORDERED_NODE_SNAPSHOT_TYPE%2C%20null%0A%29%3B%0Avar%20i%2C%20cn%2C%20cnt%2C%20cnf%2C%20nn%2C%20t%2C%20titletext%3B%0Afor%20%28i%20%3D%200%3B%20i%20%3C%20cbcodes.%20snapshotLength%3B%20i++%29%0A%7B%0A%20%20%20%20cn%20%3D%20cbcodes.%20snapshotItem%20%28i%29%3B%0A%20%20%20%20cnt%20%3D%20cn.%20textContent%3B%0A%20%20%20%20cnf%20%3D%20cnt.%20split%20%28%22%255D%255B%22%29%3B%0A%20%20%20%20if%20%28cnf.%20length%20%21%3D%204%29%0A%20%20%20%20%20%20%20%20continue%3B%0A%20%20%20%20titletext%20%3D%20unescape%20%28cnf%20%5B0%5D.%20replace%20%28/custombutton%3A%5C/%5C//%2C%20%22%22%29%29%3B%0A%20%20%20%20title%20%3D%20title.%20replace%20%28/%25%28u.%7B4%7D%29/g%2C%20%22%5C%241%22%29%3B%0A%20%20%20%20var%20converter%20%3D%20Components.classes%5B%27@mozilla.org/intl/texttosuburi%3B1%27%5D.createInstance%28Components.interfaces.nsITextToSubURI%29%3B%0A%20%20%20%20title%20%3D%20converter.UnEscapeAndConvert%28%27windows-1251%27%2C%20title%29%3B%0A%20%20%20%20nn%20%3D%20doc.%20createElement%20%28%22a%22%29%3B%0A%20%20%20%20nn.%20setAttribute%20%28%22href%22%2C%20cn.%20textContent%29%3B%0A%20%20%20%20t%20%3D%20doc.%20createElement%20%28%22img%22%29%3B%0A%20%20%20%20t.%20setAttribute%20%28%22src%22%2C%20unescape%20%28cnf%20%5B1%5D%29%20%7C%7C%20%22chrome%3A//custombuttons/skin/button.png%22%29%3B%0A%20%20%20%20t.%20setAttribute%20%28%22class%22%2C%20%22toolbarimg%22%29%3B%0A%20%20%20%20t.%20setAttribute%20%28%22title%22%2C%20titletext%29%3B%0A%20%20%20%20t.%20setAttribute%20%28%22alt%22%2C%20titletext%29%3B%0A%20%20%20%20nn.%20appendChild%20%28t%29%3B%0A%20%20%20%20cn.%20parentNode.%20replaceChild%20%28nn%2C%20cn%29%3B%0A%7D%5D%5B
custombutton://%u041F%u0440%u0435%u043E%u0431%u0440%u0430%u0437%u043E%u0432%u0430%u0442%u044C%20%u043A%u043E%u0434%u044B%20custombuttons%20%u0432%20%u0441%u0441%u044B%u043B%u043A%u0438%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfWBgMQBxbn9GxKAAAAB3RJTUUH1gYDEBMzV1+MKAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADNQTFRF////mZmZMzMzZmZmzMzM/8yZ/5mZ/8xm/8wA///M/8wz/8zMzJmZ/5kA/5lmZmYz/5kzCyXdoQAAAAF0Uk5TAEDm2GYAAAB6SURBVHjaTc5bFsIgDATQCZOIJdZ2/6t1oNHKRwj3kAcaeZAVDACRXdcWAfiEI/rogT5GFCg9E3kqLGDu+1slmVXCiHwBNvMLsA7d/IY5QEO9YNMYNdRCVj/6c24iaQURD1xCB5qZ2uEWPVevryj+ARvXOj+oxBrrCD73jALvj0npfgAAAABJRU5ErkJggg%3D%3D%5D%5Bvar%20doc%20%3D%20getBrowser%20%28%29.%20contentDocument%3B%0Avar%20cbcodes%20%3D%20doc.%20evaluate%0A%28%0A%20%20%20%20%22//text%28%29%5Bcontains%28.%2C%27custombutton%3A//%27%29%5D%22%2C%0A%20%20%20%20doc%2C%20null%2C%20XPathResult.%20ORDERED_NODE_SNAPSHOT_TYPE%2C%20null%0A%29%3B%0Avar%20i%2C%20j%2C%20cn%2C%20cnt%2C%20cnf%2C%20nn%2C%20t%2C%20titletext%3B%0Afor%20%28i%20%3D%200%3B%20i%20%3C%20cbcodes.%20snapshotLength%3B%20i++%29%0A%7B%0A%20%20%20%20cn%20%3D%20cbcodes.%20snapshotItem%20%28i%29%3B%0A%20%20%20%20cnt%20%3D%20cn.%20textContent.%20match%20%28/custombutton%3A%5C/%5C/.+/%29%3B%0A%20%20%20%20for%20%28j%20%3D%200%3B%20j%20%3C%20cnt.%20length%3B%20j++%29%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20cnf%20%3D%20cnt%20%5Bj%5D.%20split%20%28%22%255D%255B%22%29%3B%0A%20%20%20%20%20%20%20%20if%20%28cnf.%20length%20%21%3D%204%29%0A%20%20%20%20%20%20%20%20%20%20%20%20continue%3B%0A%20%20%20%20%20%20%20%20titletext%20%3D%20unescape%20%28cnf%20%5B0%5D.%20replace%20%28/custombutton%3A%5C/%5C//%2C%20%22%22%29%29%3B%0A%20%20%20%20%20%20%20%20title%20%3D%20title.%20replace%20%28/%25%28u.%7B4%7D%29/g%2C%20%22%5C%241%22%29%3B%0A%20%20%20%20%20%20%20%20var%20converter%20%3D%20Components.classes%5B%27@mozilla.org/intl/texttosuburi%3B1%27%5D.createInstance%28Components.interfaces.nsITextToSubURI%29%3B%0A%20%20%20%20%20%20%20%20title%20%3D%20converter.UnEscapeAndConvert%28%27windows-1251%27%2C%20title%29%3B%0A%20%20%20%20%20%20%20%20nn%20%3D%20doc.%20createElement%20%28%22a%22%29%3B%0A%20%20%20%20%20%20%20%20nn.%20setAttribute%20%28%22href%22%2C%20cn.%20textContent%29%3B%0A%20%20%20%20%20%20%20%20t%20%3D%20doc.%20createElement%20%28%22img%22%29%3B%0A%20%20%20%20%20%20%20%20t.%20setAttribute%20%28%22src%22%2C%20unescape%20%28cnf%20%5B1%5D%29%20%7C%7C%20%22chrome%3A//custombuttons/skin/button.png%22%29%3B%0A%20%20%20%20%20%20%20%20t.%20setAttribute%20%28%22class%22%2C%20%22toolbarimg%22%29%3B%0A%20%20%20%20%20%20%20%20t.%20setAttribute%20%28%22title%22%2C%20titletext%29%3B%0A%20%20%20%20%20%20%20%20t.%20setAttribute%20%28%22alt%22%2C%20titletext%29%3B%0A%20%20%20%20%20%20%20%20nn.%20appendChild%20%28t%29%3B%0A%20%20%20%20%20%20%20%20if%20%28j%20%3D%3D%200%29%0A%20%20%20%20%20%20%20%20%20%20%20%20cn.%20parentNode.%20replaceChild%20%28nn%2C%20cn%29%3B%0A%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20cn.%20parentNode.%20appendChild%20%28nn%29%3B%0A%20%20%20%20%7D%0A%7D%5D%5B
первая работает только в тех текстовых узлах, текст которых начинается с 'custombutton://' (как в этой теме), т. е.
но не в
вторая кнопка ищет все 'custombutton://' в текстовых узлах и заменяет соответствующие текстовые узлы набором ссылок.
скриншот, показывающий пример работы: http://forum.mozilla.ru/uploaded/cbtext … ertor2.png
Отредактировано Anton (04-06-2006 01:12:25)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
...есть бага. Твой же собственный пост они не обработали! (предидущий про ббкод отлично). В чем же фокус?
Хм. Не знаю. У меня всё работает, вот скрин: http://forum.mozilla.ru/uploaded/cbtext … ertor3.png. Подробней можно ?
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton, прикольно только надобно иконку подправить, а то у нее вместо белого цвета - прозрачность.
а можешь сделать кнопку, которая бы кроме этих ещё и прочие текстовые ссылки преобразовывала бы в гиперссылки?
с примерно таким регекспом:
/[A-Za-z]+:\/\/\S+/
и назвать ее я думаю стоит "найти ссылки".
Yan, сделай пожалуйста шрифт в редакторе моноширинный, а то сейчас туда код набивать очень напряжно...
!
Отсутствует
А нельзя ли как-нибудь сделать кнопочку для запуска jar-файла из chrome?
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
stoneflash, а закладки не годятся?
!
Отсутствует
Простенький редактор кода для расширения: http://forum.mozilla.ru/uploaded/codeeditor.zip
xbl из архива "подшивается" через userChrome.css примерно так:
textbox#code,textbox#initCode { -moz-binding: url("file://P:/xul/codeeditor.xml#code_editor_binding"); font-family: monospace !important; }
Клавиши:
Ctrl+Shift+A | Комментирует или снимает комментарий текущей строки / выделения |
Tab | Вставляет символ табуляции / Табулирует выделение |
Shift+Tab | Снимает уровень табуляции с текущей строки / выделения |
Enter | Вставляет перевод строки и создаёт отступ, равный отступу предыдущей строки |
Кстати, к вопросу
...как получить содержимое буфера обмена?
недавно обнаружил в browser.js функцию readFromClipboard. Так что, просто
Кнопка, загружающая с помощью ILO только те изображения, которые попали в выделение:
custombutton://ILO%3A%20load%20images%20from%20selection%5D%5B%5D%5Bvar%20doc%20%3D%20getBrowser%20%28%29.%20contentDocument%3B%0Avar%20sel%20%3D%20doc.%20defaultView.%20getSelection%20%28%29%3B%0Avar%20r%20%3D%20sel.%20getRangeAt%20%280%29%3B%0Avar%20imgs%20%3D%20doc.%20evaluate%0A%28%0A%09%22//img%22%2C%0A%09doc%2C%20null%2C%20XPathResult.%20ORDERED_NODE_SNAPSHOT_TYPE%2C%20null%0A%29%3B%0Avar%20i%3B%0Afor%20%28i%20%3D%200%3B%20i%20%3C%20imgs.%20snapshotLength%3B%20i++%29%0A%09if%20%28r.%20intersectsNode%20%28imgs.%20snapshotItem%20%28i%29%29%29%0A%09%09ILO.%20loadImg%20%28imgs.%20snapshotItem%20%28i%29%29%3B%5D%5B
Отредактировано Anton (10-06-2006 22:18:05)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Lain_13 пишет...есть бага. Твой же собственный пост они не обработали! (предидущий про ббкод отлично). В чем же фокус?
Хм. Не знаю. У меня всё работает, вот скрин: http://forum.mozilla.ru/uploaded/cbtext … ertor3.png. Подробней можно ?
вот так вот у меня эта бага выглядит...
http://forum.mozilla.ru/uploaded/baga_w … placer.PNG
Отсутствует
...
вот так вот у меня эта бага выглядит...
Поэкспериментировал с настройками браузера, ILO, форума - воспроизвести не удаётся. Так что никаких идей пока нет.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
Две кнопки для преобразования текстовых ссылок 'custombutton://' в реальные ссылки:
Простенький редактор кода для расширения: http://forum.mozilla.ru/uploaded/codeeditor.zip
Класс. Очень удобно. Спасибо. Не против, что я включу твой код в расширение?
Новый build.
Именения:
- моноширинный шрифт
- англ. локализация
- xbl от Anton'а, делающий более удобным редактирование кода.
P.S. Сдавал сессию, времени не было..
Отсутствует
...Не против, что я включу твой код в расширение?
Конечно не против, забирай.
Насчёт преобразованием ссылок надо подумать - имхо, лучше не делать автоматическое распознавание, а если делать, то предусмотреть в настройках возможность его отключения, т. к. возможно на больших мегабайтных страницах будут "тормоза".
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Рулёз, обновил (кода меньше=>должно быть ещё быстрее; вроде исправил глюк с "забыванием", когда кнопка переставала что-либо делать и требовала открытия редактора и последующего его закрытия кнопкой ОК):
B
custombutton://BB%3A%20%u043F%u043E%u043B%u0443%u0436%u0438%u0440%u043D%u044B%u0439%5D%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAPcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAEALAAAAAAQABAAAAg4AAMIHEiwoMGDCBMaBMCwIcOEDQVGPDhx4sKHASwWdKhxI8aOAytivAhA4kiCHEEqXMmypcuBAQEAOw%3D%3D%5D%5Bthis.onclick%28%29%3B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bb%5D%22%3B%0Avar%20close%3D%22%5B/b%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20%28event.button%29%3FreadFromClipboard%20%28%29%3AtheBox.value.substring%28startPos%2C%20endPos%29%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
U
custombutton://BB%3A%20%u043F%u043E%u0434%u0447%u0435%u0440%u043A%u043D%u0443%u0442%u044B%u0439%5D%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAPcAAAAAAHt7ewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAIALAAAAAAQABAAAAg+AAUIHEiwoMGDBwEoBCBgIcOEDxtGNKhwYEWEFyUi1CgwI8WIHgtmDElQYQABAUiWdLix5UeHC13KnElTYEAAOw%3D%3D%5D%5Bthis.onclick%28%29%3B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bu%5D%22%3B%0Avar%20close%3D%22%5B/u%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20%28event.button%29%3FreadFromClipboard%20%28%29%3AtheBox.value.substring%28startPos%2C%20endPos%29%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
I
custombutton://BB%3A%20%u043A%u0443%u0440%u0441%u0438%u0432%5D%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAPcAAAAAAHt7e4SEhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAMALAAAAAAQABAAAAgyAAcIHEiwoMGDCBMqBMCQoUKBDAU8HBDA4USGASZWBDBxAEaNFh9+XNgwZMeTKFMqDAgAOw%3D%3D%5D%5Bthis.onclick%28%29%3B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bi%5D%22%3B%0Avar%20close%3D%22%5B/i%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20%28event.button%29%3FreadFromClipboard%20%28%29%3AtheBox.value.substring%28startPos%2C%20endPos%29%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
QUOTE
custombutton://BB%3A%20%u0446%u0438%u0442%u0430%u0442%u0430%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACCklEQVR42mL8//8/AyUAIICYGCgEAAFEsQEAAUSxAQABxAIiurq6OM+cOZPPx8fHaWZm1rp8+fLEDx8+aGVmZrZKSEgwT5s2rRPIFwKyj/38+fPbmzdvvHh5eV/v27cvGiCAwAY8fPgwfvfu3Q3e3t5Vx48fD7hy5UonNzf3opcvX34FSiuePHkyEGgAj6ys7P9v3759fPv2rSsPD88nkF6AAAJ7YceOHbFSUlLb+fn5Jx09ejRORkbmkomJSVVtbe1XZmZmVmBMMYLUsbOzf/n37x9YDysr63cQDRBAYM6TJ09kfv/+fXbz5s18QNO1vn//fnHNmjVfQHKioqLP/fz85ggKCr4DGsAVEhKyXkND4yJQPTtIHiCAGKDp4BnQSYcUFBSagBoeA/k3gC5Ki42N5QXJL1y4kEdVVfWks7PzBhA/NTW1AqjuHYgNEECwWPj79etXWyYmpkigLT+AfHU2NrbYI0eO8IEkga7i//HjhxQQXwfxgeJqwAB9BWIDBBDMAHagZoa/f/8yAp3GBhL4/Pnz36CgoH8LFizgX7Vq1XSggQympqbLBQQEEq5fvx6hq6u7AqQOIIDAsQAMtBPAwBIGmvoAaAsH0GnvhYWFL8rJyf3g5OQUBrrun7q6egGQfQsY1VE6OjozgXITQXoBAoiR0rwAEEAUp0SAAKLYAIAAotgAgAADANuDzfQSUmlqAAAAAElFTkSuQmCC%5D%5Bthis.onclick%28%29%3B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bquote%5D%22%3B%0Avar%20close%3D%22%5B/quote%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20%28event.button%29%3FreadFromClipboard%20%28%29%3AtheBox.value.substring%28startPos%2C%20endPos%29%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
CODE
custombutton://BB%3A%20%u043A%u043E%u0434%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA60lEQVR42mL8//8/AyUAIICYGCgEAAFEsQEAAYQNKQHxfyieABWrRRJTQlYMEEBYNc9YtR2MoRoYsIjBDQEIIKyavTOb0RWC5ZJrJ2PIAQQQTs2g2EHH2AwBCCCQIIeNkweGzTgMwHAJQACBBLkUdC3BArqOgSDBSAaIE7AZADdk6dYD/+W0Tf8DBBAoGhk5GX+AZbx8A0DUMjwhDRK/C9TMsGzLYYZHV08zAAQQiqkgV5T3LcQV0nCbkb0KEEAYCnAYglMzQABhjUo0QxjwaQYIIEIpMQcqNgFXSgQIIEZKcyNAAFGcmQACDAB0jLqYK4uYbwAAAABJRU5ErkJggg%3D%3D%5D%5Bthis.onclick%28%29%3B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bcode%5D%22%3B%0Avar%20close%3D%22%5B/code%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20%28event.button%29%3FreadFromClipboard%20%28%29%3AtheBox.value.substring%28startPos%2C%20endPos%29%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
IMG
custombutton://BB%3A%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAABpUlEQVR42p2TP0gbURzHPxebwyEJVBw6aKZAxOUcbYYOpS0IRSgljVBMOLgxZA64SBY30RDp0HuEDraBQodChrQI/UNj3XRRoreYQfo3NF4kSo9ct4dHcsX4pvd77/v9/B7vva8CUKlU3E6nw7DDMAxFMU3TTSQSxGKxocyWZVGv1wkAvmYhBJqmoaoqmqYhhMBxHLrdrvTc8OsghODt6zXq7zZQ1RG6Z39YNPI4jkM6nZa6gB+gWCzy8sUGI73vXPz+SOB8j2crjyiVSh6dPIGqqn2Qm5P3aO0vyzoSHqXRaAwGAHxb0nFOmrKeKG8xNr3MZmmBubtTnNrnxONxf4Bz0uTv8ZFH8OnrLndmZ3j/ymD1+Wey2axnP/C/pyoUCuwc/gQgV/jCw8c5MpnM1QDlZpv780/40bLR8+tEo1F0Xe/T+QJ+PXjKwXELgPFbk9RqNarVap/OcwcT5S05317N8ebDvqz1/DrJZJJ2uz0YcDkLoVCI2zNTV/rSEuC6rly0bXuguNfrARAMBr0Ay7KuFaZIJIICYJqmO2yUw+EwqVRK+QdtIZCYwfQIRQAAAABJRU5ErkJggg%3D%3D%5D%5Bthis.onclick%28%29%3B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Bimg%5D%22%3B%0Avar%20close%3D%22%5B/img%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20%28event.button%29%3FreadFromClipboard%20%28%29%3AtheBox.value.substring%28startPos%2C%20endPos%29%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
URL
custombutton://BB%3A%20%u0433%u0438%u043F%u0435%u0440%u0441%u0441%u044B%u043B%u043A%u0430%5D%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAKIAAGZmZgAAAP///8zMzP///////////////yH5BAEAAAQALAAAAAAQABAAAAMxSLrc/jBKCYK16lpAqhBDaH3hEHimpoqBEJhkWJkpq17iXFZnaXK8S0bDmRiPyGQyAQA7%5D%5Bthis.onclick%28%29%3B%5D%5Bthis.onclick%3Dfunction%28event%29%0A%7B%0Aif%28event.button%3C2%29%0A%7B%0Avar%20open%3D%22%5Burl%5D%22%3B%0Avar%20close%3D%22%5B/url%5D%22%3B%0Avar%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0Avar%20startPos%20%3D%20theBox.selectionStart%3B%0Avar%20endPos%20%3D%20theBox.selectionEnd%3B%0Avar%20pastetext%3D%20%28event.button%29%3FreadFromClipboard%20%28%29%3AtheBox.value.substring%28startPos%2C%20endPos%29%3B%0Avar%20oPosition%20%3D%20theBox.scrollTop%3B%0Avar%20oHeight%20%3D%20theBox.scrollHeight%3B%0Avar%20text%3DtheBox.value.substring%280%2CstartPos%29%3B%0Atext%20+%3Dopen+pastetext+close%3B%0Atext%20+%3DtheBox.value.substring%28endPos%2C%20theBox.value.length%29%3B%0AtheBox.value%20%3D%20text%3B%0AtheBox.selectionStart%20%3D%20startPos%3B%0AtheBox.selectionEnd%20%3D%20startPos%20+%20open.length%20+%20pastetext.length%20+%20close.length%3B%0Avar%20nHeight%20%3D%20theBox.scrollHeight%20-%20oHeight%3B%0AtheBox.scrollTop%20%3D%20oPosition%20+%20nHeight%3B%0A%7D%3B%0A%7D%3B
Насчёт преобразованием ссылок надо подумать - имхо, лучше не делать автоматическое распознавание
дык автоматическое уже есть, но по озвученным тобой причинам его мало кто ставит, а вот специальная кнопочка для этого бы не помешала... только ссылки надо без реферера открывать (не зря же их ввиде текста сделали...)
!
Отсутствует