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

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

№632617-05-2013 19:59:11

tuman18
Участник
 
Группа: Members
Зарегистрирован: 17-07-2008
Сообщений: 43
UA: Firefox 24.0

Re: Custom Buttons

bunda1, сделал, теперь примерно через раз глюк появляется.
villa7, даже не представляю что это может быть, конкретные примеры?

Отсутствует

 

№632717-05-2013 20:07:13

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Может у тебя где то ещё кнопка Autocopy+3 установлена, проверь. Как без кнопки + рестарт работает вставка по средней кнопке текста :/

Отсутствует

 

№632817-05-2013 20:17:15

tuman18
Участник
 
Группа: Members
Зарегистрирован: 17-07-2008
Сообщений: 43
UA: Firefox 24.0

Re: Custom Buttons

bunda1, блин, точно, фокс вылетал и видимо плагин autocopy не удалился. спасибо, протупил

Отсутствует

 

№632918-05-2013 00:02:46

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Dumby
Помоги пожалуйста с кнопкой Autocopy+3, ни как не могу сообразить как копировать выделенный текст в редакторе Custom Buttons двойным правым кликом:

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EAutocopy+3%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMBAAQIAAcEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAcACAMEAQEAAAAAAAAAAAAAAAACAwADAAAAABUnAB9cqgC3a7wB4Gq5Ad1qugHearoB3mq6Ad5qugHearoB3mi4AN1qugHgYrMAxR43AC8AAAAAAAEAAAECAAQAAAQAV6AAprP9Vv/W/qn80/+f/9T/ov/U/6L/1P+i/9T/ov/U/6L/1/+n/9X+pfy3/WL/Y7QAvwEAAQAAAAAAFSgAH1ehAKlyzwD1htgf/YzcJ/2K2yP9i9sk/YvbJf2L2yX9i9sm/YnaIv2b4kP92/21/Nf+qv9quwHdBQkACAAAAQBeqwCzr/tR/8X0j/u+8X//vvJ//77ygP++8oD/vvKA/77yf/+98n7/wvSH/4zcKv+e4kv93v+0/2i5AN0DBwAIBQkACGu8AdzV/af/4v/B/d//u//h/7//4f+//+H/v//h/7//4f+//9/+u//n/8n/w/GK/4zaK/3g/7r/aroC3gMHAAgEBwAIarkC3dX/pf/g/sD93v67/9/+vv/g/r//4P6//+D+v//f/r7/3f66/+T/xv/B8Yb/j9st/eT/w/9qugPeAwcACAQHAAhqugLe2v+w/+j/z/3l/8r/5//N/+f/zv/n/87/5//O/+f/zf/l/sj/7P/W/8Xyj/+Q2y/96f/N/2q6A94DBwAIBAcACGq6At7f/7n/7v/c/ev/1v/t/9n/7f/a/+3/2v/t/9r/7f/Z/+r+1f/y/+P/yPKW/5DbMf3s/9X/aroE3gMHAAgEBwAIaroC3uP/wf/z/+j98P/h//L/5P/z/+X/8//l//P/5f/y/+T/8P7g//j/7v/L8p3/kdsy/fD/3P9rugTeAwcACAQHAAhqugLe5v/J//j/8v31/+r/9v/t//f/7v/3/+//9//u//b/7f/0/un//f/4/87yo/+R2zL98f/f/2q5Bd0DBwAIBAcACGq6At7p/8///P/6/fj/8f/6//T/+v/1//r/9f/6//X/+v/0//f+8P//////0fGo/5PbNf30/+f/a7wE3AQJAAgEBwAIabkC3er/0f/+//79+v/0//v/9//8//j//P/4//z/+P/7//f/+f70///////T8qz/i9go+8P9ef9dqwCzAAACAAUJAAhquwHd7f7a//////z+//39/////f////3////9/////f////39/vz9/////dzzvv5v0AD1VqECqRUnAB8AAAAAAQACAGK0AL/J/Yf/8v7k/O3/1//u/9n/7v/Z/+7/2f/u/9n/7v/Z/+3/1//x/eP8vfxu/1WgAKYAAAUAAQIABAABAAAAAAAAHjcALmGzAMVquwLgarkC3Wq6At5qugLearoC3mq6At5qugLearkC3Wu8AeBbqgC3FScAHwAAAAACAwADAAAAAAAAAAAAAAAAAwQCAQQIAAgEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAgABwMDAgAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20.............................................................%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20custombuttons.setPrefs%28%22Autocopy%22%2C%20%21custombuttons.getPrefs%28%22Autocopy%22%29%20%29%3B%20%0A%0A%20%20%20if%20%28%20e.button%20%3D%3D%202%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%20%20%0A%20%20%20%20%20%20%20%20menuPopup.showPopup%28this%2C%20-1%2C%20-1%2C%20%22popup%22%2C%20%22bottomleft%22%2C%20%22topleft%22%29%3B%0A%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%0A%7D%3B%0A%0A%0A%0A//%20%u041F%u0440%u043E%u0432%u0435%u0440%u0438%u0442%u044C%20%u043D%u0430%u043B%u0438%u0447%u0438%u0435%20%u0441%u0442%u0440%u043E%u043A%20%u0432%20%27about%3Aconfig%27%20%u0438%20%u0441%u043E%u0437%u0434%u0430%u0442%u044C%20%u0435%u0441%u043B%u0438%20%u043D%u0435%20%u0441%u0443%u0449%u0435%u0441%u0442%u0432%u0443%u0435%u0442%20...............................%0Aif%20%28%20%21custombuttons.isPref%28%22Autocopy.saveWithDoubleClick%22%29%20%29%20%7B%0A%20%20%20%20%20%5B%22Autocopy%22%2C%20%22Autocopy.reset%22%2C%20%22Autocopy.selectingTextBlink%22%2C%20%22Autocopy.selectWithDoubleClick%22%2C%0A%20%20%20%20%20%20%22Autocopy.copyWithDoubleClick%22%2C%20%22Autocopy.saveWithDoubleClick%22%5D.forEach%28function%28pref%29%20%7B%20custombuttons.setPrefs%28%20pref%2C%20false%20%29%20%7D%29%3B%0A%7D%3B%0A%0A%0A%20%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043C%u0435%u043D%u044E%20..........................................................................................%0Avar%20menuPopup%20%3D%20document.getElementById%28%22mainPopupSet%22%29.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0A%0A//%20%u043C%u0430%u0441%u0441%u0438%u0432%20%u0441%20%u0434%u0430%u043D%u043D%u044B%u043C%u0438%20%u0434%u043B%u044F%20%u0441%u043E%u0437%u0434%u0430%u043D%u0438%u0435%20%u043C%u0435%u043D%u044E%20....%0Avar%20array%20%3D%20%5B%0A%20%20%20%20%7B%20label%3A%20%27%u0412%u044B%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u0430%u0432%u0442%u043E%u043A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0435%20%u043F%u0440%u0438%20%u0432%u044B%u0445%u043E%u0434%u0435%20%u0438%u0437%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%27%2C%20value%3A%20%27Autocopy.reset%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%27%u0412%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u043C%u0438%u0433%u0430%u0435%u0442%20%u043F%u0440%u0438%20%u0430%u0432%u0442%u043E%u043A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0438%27%2C%20value%3A%20%27Autocopy.selectingTextBlink%27%20%7D%2C%0A%20%20%20%20%7B%20separator%3A%20%27%27%7D%2C%0A%20%20%20%20%7B%20label%3A%20%27%u0414%u0432%u043E%u0439%u043D%u043E%u0439%20%u043F%u0440%u0430%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043C%u044B%u0448%u0438%20%u043A%u043E%u043F%u0438%u0440%u0443%u0435%u0442%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%27%2C%20value%3A%20%27Autocopy.copyWithDoubleClick%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%27%u0414%u0432%u043E%u0439%u043D%u043E%u0439%20%u043B%u0435%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043C%u044B%u0448%u0438%20%u0432%u044B%u0434%u0435%u043B%u044F%u0435%u0442%20%u0432%u0441%u0435%20%u0432%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u044B%u0445%20%u043F%u043E%u043B%u044F%u0445%27%2C%20value%3A%20%27Autocopy.selectWithDoubleClick%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%27%u0414%u0432%u043E%u0439%u043D%u043E%u0439%20%u043F%u0440%u0430%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043C%u044B%u0448%u0438%20%u0441%u043E%u0445%u0440%u0430%u043D%u044F%u0435%u0442%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%20%u0431%u0435%u0437%20%u0437%u0430%u043F%u0440%u043E%u0441%u0430%27%2C%20value%3A%20%27Autocopy.saveWithDoubleClick%27%20%7D%2C%20%0A%20%20%20%20%7B%20label%3A%20%27%u0421%u0440%u0435%u0434%u043D%u0438%u043C%20%u043A%u043B%u0438%u043A%u043E%u043C%20%u0432%u0441%u0442%u0430%u0432%u043B%u044F%u0442%u044A%20%u0442%u0435%u043A%u0441%u0442%20%u0441%20%u0437%u0430%u043C%u0435%u043D%u043E%u0439%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%27%2C%20value%3A%20%27middlemouse.paste%27%20%7D%0A%5D%3B%0A%0A//%20%u0446%u0438%u043A%u043B%20%u043F%u043E%20%u043E%u0447%u0435%u0440%u0435%u0434%u0438%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0438%u0437%20%u043C%u0430%u0441%u0441%u0438%u0432%u0430%20%u043D%u0443%u0436%u043D%u044B%u0435%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%u044B%20%u043A%20%u043F%u0443%u043D%u043A%u0442%u0430%u043C%20%u043C%u0435%u043D%u044E%20....%20%20%0Aarray.forEach%28function%28%20m%20%29%20%7B%0A%20%20%20%20if%20%28%20%22separator%22%20in%20m%20%29%20%7B%20menuPopup.appendChild%28%20document.createElement%28%22menuseparator%22%29%20%29%3B%20return%20%7D%3B%0A%20%20%20%20var%20mItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20%20mItem.setAttribute%28%22label%22%2C%20m.label%29%3B%0A%20%20%20%20mItem.setAttribute%28%27type%27%2C%20%27checkbox%27%29%3B%0A%20%20%20%20mItem.setAttribute%28%27checked%27%2C%20custombuttons.getPrefs%28%20m.value%20%29%20%29%3B%0A%20%20%20%20mItem.setAttribute%28%27onclick%27%2C%20%27custombuttons.setPrefs%28%22%27%20+%20m.value%20+%20%27%22%2C%20%21custombuttons.getPrefs%28%22%27%20+%20m.value%20+%20%27%22%29%29%27%29%3B%20%20%0A%20%20%20%20menuPopup.appendChild%28%20mItem%20%29%3B%0A%7D%29%3B%0AaddDestructor%28function%28%29%20%7B%20menuPopup.parentNode.removeChild%28%20menuPopup%20%29%20%7D%29%3B%20//%20%u0431%u043B%u043E%u043A%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0434%u0443%u0431%u043B%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0435%20%u043C%u0435%u043D%u044E%20%0A%0A%0A%0A//%20%u0423%u0441%u0442%u0430%u043D%u043E%u0432%u0438%u0442%u044C%20%u043D%u0443%u0436%u043D%u0443%u044E%20%u0438%u043A%u043E%u043D%u043A%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u043F%u0440%u0438%20%u0441%u0442%u0430%u0440%u0442%u0435%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%20%u0438%u043B%u0438%20%u043F%u0440%u0438%20%u0438%u0437%u043C%u0435%u043D%u0435%u043D%u0438%u044F%u0445%20%u043D%u0430%u0441%u0442%u0440%u043E%u0435%u043A%20%u0432%20%27about%3Aconfig%27............................%0Avar%20button%20%3D%20this%2C%20s%20%3D%20%22Autocopy%22%3B%0Afunction%20toggleImage%28%29%20%7B%20%20%0A%20%20%20%20button.image%20%3D%20custombuttons.getPrefs%28s%29%0A%20%20%20%20%3F%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMBAAQIAAcEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAcACAMEAQEAAAAAAAAAAAAAAAACAwADAAAAABUnAB9cqgC3a7wB4Gq5Ad1qugHearoB3mq6Ad5qugHearoB3mi4AN1qugHgYrMAxR43AC8AAAAAAAEAAAECAAQAAAQAV6AAprP9Vv/W/qn80/+f/9T/ov/U/6L/1P+i/9T/ov/U/6L/1/+n/9X+pfy3/WL/Y7QAvwEAAQAAAAAAFSgAH1ehAKlyzwD1htgf/YzcJ/2K2yP9i9sk/YvbJf2L2yX9i9sm/YnaIv2b4kP92/21/Nf+qv9quwHdBQkACAAAAQBeqwCzr/tR/8X0j/u+8X//vvJ//77ygP++8oD/vvKA/77yf/+98n7/wvSH/4zcKv+e4kv93v+0/2i5AN0DBwAIBQkACGu8AdzV/af/4v/B/d//u//h/7//4f+//+H/v//h/7//4f+//9/+u//n/8n/w/GK/4zaK/3g/7r/aroC3gMHAAgEBwAIarkC3dX/pf/g/sD93v67/9/+vv/g/r//4P6//+D+v//f/r7/3f66/+T/xv/B8Yb/j9st/eT/w/9qugPeAwcACAQHAAhqugLe2v+w/+j/z/3l/8r/5//N/+f/zv/n/87/5//O/+f/zf/l/sj/7P/W/8Xyj/+Q2y/96f/N/2q6A94DBwAIBAcACGq6At7f/7n/7v/c/ev/1v/t/9n/7f/a/+3/2v/t/9r/7f/Z/+r+1f/y/+P/yPKW/5DbMf3s/9X/aroE3gMHAAgEBwAIaroC3uP/wf/z/+j98P/h//L/5P/z/+X/8//l//P/5f/y/+T/8P7g//j/7v/L8p3/kdsy/fD/3P9rugTeAwcACAQHAAhqugLe5v/J//j/8v31/+r/9v/t//f/7v/3/+//9//u//b/7f/0/un//f/4/87yo/+R2zL98f/f/2q5Bd0DBwAIBAcACGq6At7p/8///P/6/fj/8f/6//T/+v/1//r/9f/6//X/+v/0//f+8P//////0fGo/5PbNf30/+f/a7wE3AQJAAgEBwAIabkC3er/0f/+//79+v/0//v/9//8//j//P/4//z/+P/7//f/+f70///////T8qz/i9go+8P9ef9dqwCzAAACAAUJAAhquwHd7f7a//////z+//39/////f////3////9/////f////39/vz9/////dzzvv5v0AD1VqECqRUnAB8AAAAAAQACAGK0AL/J/Yf/8v7k/O3/1//u/9n/7v/Z/+7/2f/u/9n/7v/Z/+3/1//x/eP8vfxu/1WgAKYAAAUAAQIABAABAAAAAAAAHjcALmGzAMVquwLgarkC3Wq6At5qugLearoC3mq6At5qugLearkC3Wu8AeBbqgC3FScAHwAAAAACAwADAAAAAAAAAAAAAAAAAwQCAQQIAAgEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAgABwMDAgAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%22%0A%20%20%20%20%3A%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgEDAAQACAcEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAHCAMBBAEAAAAAAAAAAAAAAAACAAMDAAAAABUAJx9cAKq3awG84GoBud1qAbreagG63moBut5qAbreagG63mgAuN1qAbrgYgCzxR4ANy8AAAAAAAABAAEAAgQABAAAVwCgprNW/f/Wqf7805///9Si///Uov//1KL//9Si///Uov//16f//9Wl/vy3Yv3/YwC0vwEBAAAAAAAAFQAoH1cAoalyAM/1hh/Y/Ywn3P2KI9v9iyTb/Ysl2/2LJdv9iybb/Yki2v2bQ+L927X9/Neq/v9qAbvdBQAJCAABAABeAKuzr1H7/8WP9Pu+f/H/vn/y/76A8v++gPL/voDy/75/8v+9fvL/wof0/4wq3P+eS+L93rT//2gAud0DAAcIBQAJCGsBvNzVp/3/4sH//d+7///hv///4b///+G////hv///4b///9+7/v/nyf//w4rx/4wr2v3guv//agK63gMABwgEAAcIagK53dWl///gwP793rv+/9++/v/gv/7/4L/+/+C//v/fvv7/3br+/+TG///BhvH/jy3b/eTD//9qA7reAwAHCAQABwhqArre2rD//+jP//3lyv//583//+fO///nzv//587//+fN///lyP7/7Nb//8WP8v+QL9v96c3//2oDut4DAAcIBAAHCGoCut7fuf//7tz//evW///t2f//7dr//+3a///t2v//7dn//+rV/v/y4///yJby/5Ax2/3s1f//agS63gMABwgEAAcIagK63uPB///z6P/98OH///Lk///z5f//8+X///Pl///y5P//8OD+//ju///LnfL/kTLb/fDc//9rBLreAwAHCAQABwhqArre5sn///jy//316v//9u3///fu///37///9+7///bt///06f7//fj//86j8v+RMtv98d///2oFud0DAAcIBAAHCGoCut7pz////Pr//fjx///69P//+vX///r1///69f//+vT///fw/v//////0ajx/5M12/305///awS83AQACQgEAAcIaQK53erR///+/v/9+vT///v3///8+P///Pj///z4///79///+fT+///////TrPL/iyjY+8N5/f9dAKuzAAIAAAUACQhqAbvd7dr+//////z+/f/9/////f////3////9/////f////39/P79/////dy+8/5vAND1VgKhqRUAJx8AAAAAAQIAAGIAtL/Jh/3/8uT+/O3X///u2f//7tn//+7Z///u2f//7tn//+3X///x4/38vW78/1UAoKYABQAAAQACBAAAAQAAAAAAHgA3LmEAs8VqArvgagK53WoCut5qArreagK63moCut5qArreagK53WsBvOBbAKq3FQAnHwAAAAACAAMDAAAAAAAAAAAAAAAAAwIEAQQACAgEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAIBwMCAwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%22%3B%0A%7D%3B%20%20%0AtoggleImage%28%29%3B%0Avar%20ps%20%3D%20Cc%5B%22@mozilla.org/preferences-service%3B1%22%5D.getService%28Ci.nsIPrefBranch%29.QueryInterface%28Ci.nsIPrefBranch2%29%3B%0Aps.addObserver%28%20s%2C%20toggleImage%2C%20false%29%3B%0AaddDestructor%28function%28%29%20%7B%20ps.removeObserver%28%20s%2C%20toggleImage%2C%20false%29%20%7D%29%3B%20%20%0A%0A%0A%0A//%20%u0412%u044B%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u043A%u043D%u043E%u043F%u043A%u0443%20%u043F%u0440%u0438%20%u0437%u0430%u043A%u0440%u044B%u0442%u0438%u0438%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%20%u0435%u0441%u043B%u0438%20%u044D%u0442%u043E%20%u0440%u0430%u0437%u0440%u0435%u0448%u0435%u043D%u043E%20%u0432%20%27about%3Aconfig%27............................%0Avar%20turnOffButton%20%3D%20%7B%0A%20%20%20%20observe%3A%20function%28subject%2C%20topic%2C%20data%29%20%7B%0A%20%20%20%20if%20%28%20custombuttons.getPrefs%28%22Autocopy.reset%22%29%20%26%26%20data%20%3D%3D%20%22shutdown%22%20%29%20custombuttons.setPrefs%28%22Autocopy%22%2C%20false%29%3B%20%20%0A%20%20%20%20%7D%0A%7D%3B%0AServices.obs.addObserver%28%20turnOffButton%2C%20%22quit-application%22%2C%20false%29%3B%0AaddDestructor%28function%28%29%20%7B%20Services.obs.removeObserver%28%20turnOffButton%2C%20%22quit-application%22%2C%20false%29%20%7D%29%3B%20%0A%0A%0A%0A//%20%u0424%u0443%u043D%u043A%u0446%u0438%u0438%20%u0430%u0432%u0442%u043E%u043C%u0430%u0442%u0438%u0447%u0435%u0441%u043A%u0438%20%u043A%u043E%u043F%u0438%u0440%u0443%u0435%u0442%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%2C%20%u0435%u0441%u043B%u0438%20%u044D%u0442%u043E%20%u0440%u0430%u0437%u0440%u0435%u0448%u0435%u043D%u043E%20%u0432%20%27about%3Aconfig%27%20............................%0Afunction%20autocopy%28e%29%20%7BLOG%28e.button%29%0A%20%20%20if%20%28%20e.button%20%3D%3D%202%20%29%20return%3B%0A%0A%20%20%20if%20%28%20/input%7Cpassword%7Ctextarea%7Ctextbox%7Csearchbar%7Cfindbar/.test%28%20e.target.localName.toLowerCase%28%29%20%29%20%29%20return%3B%0A%20%20%20%0A%20%20%20if%20%28%20e.type%20%3D%3D%20%27mousedown%27%20%29%20var%20lastSelection%20%3D%20getBrowserSelection%28%29%3B%0A%20%20%20%0A%20%20%20if%20%28%20e.type%20%21%3D%3D%20%27mouseup%27%20%29%20return%3B%20%0A%20%20%20%0A%20%20%20var%20selection%20%3D%20getBrowserSelection%28%29%3B%0A%20%20%20if%20%28%20custombuttons.getPrefs%28%22Autocopy%22%29%20%26%26%20selection%20%26%26%20selection%20%21%3D%3D%20lastSelection%20%29%20%7B%0A%20%20%20%20%20%20%20%20goDoCommand%28%27cmd_copy%27%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20//%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u043C%u0438%u0433%u0430%u0435%u0442%20....%0A%20%20%20%20%20%20%20%20if%20%28%20%21custombuttons.getPrefs%28%22Autocopy.selectingTextBlink%22%29%20%29%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20document.activeElement.blur%28%29%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28function%28%29%20%7B%20window.content.focus%28%29%20%7D%2C%20300%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%3B%0AaddEventListener%28%22mouseup%22%2C%20autocopy%2C%20false%2C%20gBrowser%20%29%3B%0AaddEventListener%28%22mousedown%22%2C%20autocopy%2C%20false%2C%20gBrowser%20%29%3B%0A%0A%0A%0A//%20C%u0440%u0435%u0434%u043D%u0435%u0439%20%u043A%u043D%u043E%u043F%u043A%u043E%u0439%20%u043C%u044B%u0448%u0438%20%u0432%u0441%u0442%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%20%u0432%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u044B%u0435%20%u043F%u043E%u043B%u044F%20%u0441%20%u0437%u0430%u043C%u0435%u043D%u043E%u0439%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20............................%0Afunction%20middleMousePaste%28e%29%20%7B%0A%20%20%20%20if%20%28%20e.button%20%21%3D%3D%201%20%7C%7C%20%21custombuttons.getPrefs%28%27middlemouse.paste%27%29%20%29%20return%3B%0A%0A%20%20%20%20if%20%28%20/input%7Cpassword%7Ctextarea%7Ctextbox%7Csearchbar%7Cfindbar/.test%28%20e.target.localName.toLowerCase%28%29%20%29%20%0A%20%20%20%20%20%20%20%20%20%26%26%20document.commandDispatcher.getControllerForCommand%28%22cmd_paste%22%29%20%29%20%7B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20goDoCommand%28%22cmd_paste%22%29%3B%0A%20%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%7D%3B%0AaddEventListener%28%22click%22%2C%20middleMousePaste%2C%20true%2C%20document.documentElement%20%29%3B%0A%0A%0A%0A//%20%u0414%u043E%u043F%u043E%u043B%u043D%u0438%u0442%u0435%u043B%u044C%u043D%u044B%u0435%20%u0432%u043E%u0437%u043C%u043E%u0436%u043D%u043E%u0441%u0442%u0438%20%u0434%u043B%u044F%20%u0437%u043D%u0430%u0447%u043A%u0430%20%u0438%u0434%u0435%u043D%u0442%u0438%u0444%u0438%u043A%u0430%u0446%u0438%u0438%20%u0441%u0430%u0439%u0442%u0430%20%u0432%20%u0441%u0442%u0440%u043E%u043A%u0435%20%u0430%u0434%u0440%u0435%u0441%u0430%20.......................%0AaddEventListener%28%22click%22%2C%20function%28e%29%20%7B%20%0A%20%20%20e.preventDefault%28%29%3B%0A%20%20%20e.stopPropagation%28%29%3B%0A%20%20%20%0A%20%20%20//%20%u041B%u041A%u041C%20%u0431%u0435%u0437%20%u0437%u0430%u043F%u0440%u043E%u0441%u0430%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u0438%u043D%u0444%u043E%u0440%u043C%u0430%u0446%u0438%u044E%20%u043E%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0432%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20%27%u0420%u0430%u0437%u0440%u0435%u0448%u0435%u043D%u0438%u044F%27%20....%0A%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20doc%20%3D%20content.document%3B%0A%20%20%20%20%20%20%20%20BrowserPageInfo%28%20doc%2C%20%28%20%28doc.location.protocol%29.slice%280%2C4%29%20%3D%3D%20%22http%22%29%20%3F%20%22permTab%22%20%3A%20%22generalTab%22%20%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%0A%20%20%20//%20%u041F%u041A%u041C%20%u043A%u043E%u043F%u0438%u0440%u0443%u0435%u0442%20%u0442%u0435%u043A%u0443%u0449%u0438%u0439%20%u0430%u0434%u0440%u0435%u0441%20....%20%20%20%20%20%0A%20%20%20if%20%28%20e.button%20%3D%3D%202%29%20%7B%20%0A%20%20%20%20%20%20%20%20gClipboard.write%28%20content.location%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20//%20%u0437%u043D%u0430%u0447%u043E%u043A%20%u0438%u0434%u0435%u043D%u0442%u0438%u0444%u0438%u043A%u0430%u0446%u0438%u0438%20%u0441%u0430%u0439%u0442%u0430%20%u043C%u0438%u0433%u0430%u0435%u0442%20%u043A%u0440%u0430%u0441%u043D%u044B%u043C%20....%0A%20%20%20%20%20%20%20%20document.getElementById%28%22identity-box%22%29.setAttribute%28%22style%22%2C%20%22background%3A%20red%3B%22%29%3B%0A%20%20%20%20%20%20%20%20setTimeout%28function%28%29%20%7B%20document.getElementById%28%22identity-box%22%29.removeAttribute%28%22style%22%29%20%7D%2C%20500%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%2C%20true%2C%20document.getElementById%28%22identity-box%22%29%20%29%3B%0A%0A%20%20%20%0A%20%20%20%0A//%20%u041E%u0431%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%20%u0441%u043B%u0435%u0434%u0438%u0442%20%u0437%u0430%20%u0434%u0432%u043E%u0439%u043D%u044B%u043C%20%u043F%u0440%u0430%u0432%u044B%u043C%20%u043A%u043B%u0438%u043A%u043E%u043C%20%u043C%u044B%u0448%u0438%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0438%20%u0437%u0430%u043F%u0443%u0441%u043A%u0430%u044E%u0442%20%u043D%u0443%u0436%u043D%u044B%u0435%20%u043A%u043E%u0434%u044B%20%u0438%20%u0444%u0443%u043D%u043A%u0446%u0438%u0438%20............................%0Afunction%20handleDblClick%28e%29%20%7B%0A%0A%20%20//%20%u0434%u0432%u043E%u0439%u043D%u043E%u0439%20%u043B%u0435%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043C%u044B%u0448%u0438%20%u0432%u044B%u0434%u0435%u043B%u044F%u0435%u0442%20%u0432%u0441%u0435%20%u0432%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u044B%u0445%20%u043F%u043E%u043B%u044F%u0445%20....%0A%20%20if%20%28%20e.button%20%3D%3D%200%20%26%26%20custombuttons.getPrefs%28%22Autocopy.selectWithDoubleClick%22%29%20%29%20%7B%20%20%20%20%0A%20%20%20%20%20%20%20var%20localName%20%3D%20e.target.localName%3B%0A%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20if%20%28%20localName%20%3D%3D%27input%27%20%7C%7C%20localName%20%3D%3D%27textbox%27%20%7C%7C%20localName%3D%3D%27textarea%27%20%29%20e.target.select%28%29%3B%0A%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%0A%20%20//%20%u0434%u0432%u043E%u0439%u043D%u043E%u0439%20%u043F%u0440%u0430%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043C%u044B%u0448%u0438%20%u043A%u043E%u043F%u0438%u0440%u0443%u0435%u0442%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20....%0A%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20custombuttons.getPrefs%28%22Autocopy.copyWithDoubleClick%22%29%20%29%20%7B%0A%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20document.getElementById%28%22contentAreaContextMenu%22%29.hidePopup%28%29%3B%0A%20%20%20%20%20%20%20document.getElementById%28%22cmd_copy%22%29.doCommand%28%29%3B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%0A%20%20//%20%u0434%u0432%u043E%u0439%u043D%u043E%u0439%20%u043F%u0440%u0430%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043C%u044B%u0448%u0438%20%u0441%u043E%u0445%u0440%u0430%u043D%u044F%u0435%u0442%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%20%u0431%u0435%u0437%20%u0437%u0430%u043F%u0440%u043E%u0441%u0430%20....%20%20%20%20%0A%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20custombuttons.getPrefs%28%22Autocopy.saveWithDoubleClick%22%29%20%29%20%7B%0A%20%20%20%20%20%20%20if%20%28%20e.target.nodeName%20%21%3D%3D%20%27IMG%27%20%29%20return%3B%20%20%0A%20%20%20%20%20%20%20saveImageURL%28%20gContextMenu.imageURL%2C%200%2C%200%2C%200%2C%201%2C%20null%2C%20content.document%20%29%3B%0A%20%20%20%20%20%20%20setTimeout%28function%28%29%20%7B%20document.getElementById%28%22contentAreaContextMenu%22%29.hidePopup%28%29%20%7D%2C%2020%29%3B%0A%20%20%20%20%20%20%20%7D%20%20%20%20%20%0A%7D%0AaddEventListener%28%22dblclick%22%2C%20handleDblClick%2C%20false%2C%20gBrowser%20%29%3B%0A%0A%0A%0A//%20%u041D%u0430%u0431%u043B%u044E%u0434%u0430%u0442%u0435%u043B%u044C%20%u0441%u043B%u0435%u0434%u0438%u0442%20%u0437%u0430%20%u043E%u0442%u043A%u0440%u044B%u0442%u0438%u0435%u043C%20%u043E%u043A%u043E%u043D%20%u0430%u0434%u0440%u0435%u0441%u0430%20%u043A%u043E%u0442%u043E%u0440%u044B%u0445%20%u0443%u043A%u0430%u0437%u0430%u043D%u043D%u044B%20%u0432%20%u043A%u043E%u0434%u0435%20%u0438%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0438%u043C%20%u043E%u0431%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%u0438%20............................%0Avar%20observer%20%3D%20%7B%20%20%0A%20%20%20%20%20%20%20observe%3A%20function%28subject%2C%20topic%2C%20data%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20subject.addEventListener%28%22load%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%20handleEvent%3A%20function%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20doc%20%3D%20e.target%3B%0A%20%20%20%20%20%20%20%20%20%20var%20win%20%3D%20doc.defaultView%3B%0A%20%20%20%20%20%20%20%20%20%20var%20href%20%3D%20doc.location.href%3B%20%0A%20%20%20%20%20%20%20%20%20%20win.removeEventListener%28%22load%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20//%20%u0437%u0430%u043A%u0440%u044B%u0432%u0430%u0442%u044C%20%27%u0418%u043D%u0444%u043E%u0440%u043C%u0430%u0446%u0438%u044E%20%u043E%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%27%20%u0438%u043B%u0438%20%27%u0411%u0438%u0431%u043B%u0438%u043E%u0442%u0435%u043A%u0443%27%20%u0434%u0432%u043E%u0439%u043D%u044B%u043C%20%u043A%u043B%u0438%u043A%u043E%u043C%20%u043D%u0430%20%u043D%u0435%u0439%20....%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20if%20%28%20/pageInfo.xul%7Cplaces.xul/.test%28%20href%20%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.addEventListener%28%22dblclick%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.close%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.removeEventListener%28%22dblclick%22%2C%20arguments.callee%2C%20true%29%3B%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20//%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0442%u044C%20%u043E%u0431%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%u0438%20%u043A%u043B%u0438%u043A%u0430%20%u0432%20%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%20Custom%20Buttons%20....%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20if%20%28%20href%20%21%3D%3D%20%22chrome%3A//custombuttons/content/editor.xul%22%20%29%20return%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.addEventListener%28%22click%22%2C%20middleMousePaste%2C%20true%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.addEventListener%28%22dblclick%22%2C%20handleDblClick%2C%20true%20%29%3B%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%7D%3B%0AServices.obs.addObserver%28observer%2C%20%22domwindowopened%22%2C%20false%29%3B%0AaddDestructor%28function%28%29%20%7B%20Services.obs.removeObserver%28observer%2C%20%22domwindowopened%22%2C%20false%29%20%7D%29%3B%20%0A%0A%0A%0A//%20%u041F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20............................%0Athis.tooltipText%20%3D%20%22Autocopy%20%5Cn%u041B%3A%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u0430%u0432%u0442%u043E%u043C%u0430%u0442%u0438%u0447%u0435%u0441%u043A%u043E%u0435%20%u043A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0435%20%5Cn%u041F%3A%20%u041C%u0435%u043D%u044E%20%5Cn%u0414%u041F%3A%20CB%20%u043C%u0435%u043D%u044E%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B%0A%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Я добавляю обработчик двойного клика на редактор Custom Buttons:

Выделить код

Код:

// Наблюдатель следит за открытием окон адреса которых указанны в коде и добавляет им обработчики ............................
var observer = {  
       observe: function(subject, topic, data) {
          subject.addEventListener("load", this, false);
          },
      
       handleEvent: function(e) {
          var doc = e.target;
          var win = doc.defaultView;
          var href = doc.location.href; 
          win.removeEventListener("load", this, false);
          
          // закрывать 'Информацию о странице' или 'Библиотеку' двойным кликом на ней ....            
          if ( /pageInfo.xul|places.xul/.test( href ) ) {
               win.addEventListener("dblclick", function() {
                   this.close();
                   this.removeEventListener("dblclick", arguments.callee, true);           
                   }, true);
               }
               
          // добавлять обработчики клика на редактор Custom Buttons ....            
          if ( href !== "chrome://custombuttons/content/editor.xul" ) return;         
               
               win.addEventListener("click", middleMousePaste, true );
               win.addEventListener("dblclick", handleDblClick, true );     
          }
};
Services.obs.addObserver(observer, "domwindowopened", false);
addDestructor(function() { Services.obs.removeObserver(observer, "domwindowopened", false) });

Но как в редакторе скопировать текст и закрыть контекстное меню которое отрывается при клике не знаю:

Выделить код

Код:

// Обработчик следит за двойным правым кликом мыши и запускают нужные коды и функции ............................
function handleDblClick(e) {

  // выделить все в текстовых полях ....
  if ( e.button == 0 && custombuttons.getPrefs("Autocopy.selectWithDoubleClick") ) {    
       var localName = e.target.localName;
       e.preventDefault();
       if ( localName =='input' || localName =='textbox' || localName=='textarea' ) e.target.select();
       }
       
  // скопировать выделенный текст ....
  if ( e.button == 2 && custombuttons.getPrefs("Autocopy.copyWithDoubleClick") ) {
       e.preventDefault();
       document.getElementById("contentAreaContextMenu").hidePopup();
       document.getElementById("cmd_copy").doCommand();       
       }
        
  // сохранить изображение без запроса ....    
  if ( e.button == 2 && custombuttons.getPrefs("Autocopy.saveWithDoubleClick") ) {
       if ( e.target.nodeName !== 'IMG' ) return;  
       saveImageURL( gContextMenu.imageURL, 0, 0, 0, 1, null, content.document );
       setTimeout(function() { document.getElementById("contentAreaContextMenu").hidePopup() }, 20);
       }     
}
addEventListener("dblclick", handleDblClick, false, gBrowser );

Отредактировано bunda1 (18-05-2013 00:07:49)

Отсутствует

 

№633018-05-2013 09:38:22

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 10.0

Re: Custom Buttons

bunda1 пишет
Выделить код

Код:

if ( href !== "chrome://custombuttons/content/editor.xul" ) return;

:/ У меня href редактора длиннее на doc.location.search, и, таким образом,
не равен, и уж тем более не идентичен.

bunda1 пишет

как в редакторе скопировать текст и закрыть контекстное меню

Вот, попробовал, вроде работает...

скрытый текст

Выделить код

Код:

// добавлять обработчики клика в редактор Custom Buttons ....
        if (href.substring(0, 41) != "chrome://custombuttons/content/editor.xul" ) return;

        var pLeft = cbu.getPrefs("Autocopy.selectWithDoubleClick");
        var pRight = cbu.getPrefs("Autocopy.copyWithDoubleClick");
        if (!pLeft && !pRight) return;

        function onDblClick(e) {
            var node = e.target;
            var editor = node.editor;
            if (!editor) return;
            if (!e.button && pLeft && node.nodeName == "textbox") editor.selectAll();
            if (e.button == 2 && pRight) {
                editor.copy();
                var box = (node.textbox || node).inputField.parentNode;
                var popup = box.ownerDocument.getAnonymousElementByAttribute(box, "anonid", "input-box-contextmenu");
                setTimeout(function() popup.hidePopup(), 50);
            }
        }
        win.addEventListener("dblclick", onDblClick, false);

        win.addEventListener("unload", function onUnload(e) {
            win.removeEventListener("dblclick", onDblClick, false);
            win.removeEventListener("unload", onUnload, false);
        }, false);

bunda1 пишет
Выделить код

Код:

win.addEventListener("click", middleMousePaste, true );

Уже хотел написать, что, похоже, СКМ в редакторе работает и сам по себе,
но обнаружилась одна странность:
Пишу строку, выделяю её часть, копирую, ставлю курсор в конец строки и несколько раз жму Enter.
Курсор спускается на несколько строк.
Теперь жму СКМ - вставка происходит не в то место, где курсор :(
У тебя тоже так ?

Отсутствует

 

№633118-05-2013 12:46:53

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Dumby пишет

У меня href редактора длиннее на doc.location.search, и, таким образом,
не равен, и уж тем более не идентичен.

:/

Выделить код

Код:

LOG( href == href.substring(0, 41) ); // = true
LOG( href.length ); // = 41

Добавлено 18-05-2013 12:56:02

Dumby пишет

Уже хотел написать, что, похоже, СКМ в редакторе работает и сам по себе,
но обнаружилась одна странность:
Пишу строку, выделяю её часть, копирую, ставлю курсор в конец строки и несколько раз жму Enter.
Курсор спускается на несколько строк.
Теперь жму СКМ - вставка происходит не в то место, где курсор :(
У тебя тоже так ?

Да,  ставит текст не понятно куда, похоже это глюк Custom Buttons.

Добавлено 18-05-2013 12:59:29
А это обязательно нужно?

Выделить код

Код:

win.addEventListener("unload", function onUnload(e) {
             win.removeEventListener("dblclick", onDblClick, false);
             win.removeEventListener("unload", onUnload, false);
         }, false);

Отредактировано bunda1 (18-05-2013 12:59:29)

Отсутствует

 

№633218-05-2013 13:30:41

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 10.0

Re: Custom Buttons

bunda1 пишет

LOG( href.length ); // = 41

Ааа! Дошло! Видимо дело в галке, которая в настройках Custom Buttons, а именно
«Сохранять позицию и размеры окон редактора отдельно для каждой кнопки»

bunda1 пишет

А это обязательно нужно?

Я не знаю, но Infocatcher пишет, что не помешает, если, конечно я правильно понял...

Отсутствует

 

№633318-05-2013 14:27:42

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Ну раз Infocatcher пишет то буду удалять. Кстати спасибо за код, все вроде работает, не знал что можно так просто :)

Отсутствует

 

№633419-05-2013 20:56:11

toxa
Участник
 
Группа: Members
Зарегистрирован: 11-04-2012
Сообщений: 261
UA: Firefox 20.0

Re: Custom Buttons

Как сделать всплывающую подсказку (balloon или ещё какую...)?
custombuttons.alertSlide не очень подходит.

Чтобы она держалась, пока я не кликну на странице.

Отсутствует

 

№633519-05-2013 22:49:24

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 21.0

Re: Custom Buttons


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№633620-05-2013 01:41:02

toxa
Участник
 
Группа: Members
Зарегистрирован: 11-04-2012
Сообщений: 261
UA: Firefox 20.0

Re: Custom Buttons

Infocatcher пишет:
toxa

https://developer.mozilla.org/en-US/doc … ifications
https://developer.mozilla.org/en-US/doc … ations.jsm
?

Infocatcher, я попробовал взять оттуда в качестве шаблона это:

скрытый текст

Выделить код

Код:

PopupNotifications.show(gBrowser.selectedBrowser, "sample-popup",
        "This is a sample popup notification.",
        null, /* anchor ID */
        {
          label: "Do Something",
          accessKey: "D",
          callback: function() {
            alert("Doing something awesome!");
          }
        },
        null  /* secondary action */
        );


Удалил всё ненужное мне и оставил только message
скрытый текст

Выделить код

Код:

PopupNotifications.show(gBrowser.selectedBrowser, "sample-popup", "my message");


Теперь мне надо на место "my message" подставить строковую переменную (допустим, раньше я объявил a = location.href) и вот это никак не выходит.

Отсутствует

 

№633720-05-2013 02:20:40

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 21.0

Re: Custom Buttons

Эээ... а в чем проблема?

Выделить код

Код:

var a = content.location.href;
PopupNotifications.show(gBrowser.selectedBrowser, "sample-popup", a);

Работает же, вроде.


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№633820-05-2013 12:04:42

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1005
UA: Firefox 21.0

Re: Custom Buttons

bunda1, ты давненько делал для меня кнопочку:

скрытый текст
Автовыделяет на странице введенные слова

Выделить код

Код:

// Кнопка для автовыделения заранее введенного текста с поддержкой нескольких слов

//Объявляем 'prefs', 'clipboard' ,'alertsService', 'button'.............................................
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
var alertsService = Components.classes["@mozilla.org/alerts-service;1"].getService(Components.interfaces.nsIAlertsService);
var button = this;


// настройка функций кликов мыши (Mouse Click settings)
this.onclick = function(event) {
    if(event.button == 0) {
        // Действие при клике ЛКМ
        switchHighlight(event);
    };
    
    if(event.button == 1) {
        // Действие при клике СКМ
        HighlightAdd(event);
    }

    if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) {
    // Действие при клике ПКМ без модификаторов
    // Блокируем контекстное меню при клике ПКМ без модификаторов
    event.preventDefault();
    event.stopPropagation();
    // clear preference
    prefs.setCharPref("Auto.Highlight.value","");
    prefs.setBoolPref("Auto.Highlight",1);
    switchHighlight(event);
    //Всплывающая подсказка
    alertsService.showAlertNotification(button.image, "Автовыделение", "Значение сброшено", false, "", null, ""); 
    }
};



// подсказка
this.showHighlightAdd = function() {
  //getting prefs Unicode value
  var HighlightValue = prefs.getComplexValue("Auto.Highlight.value",Components.interfaces.nsISupportsString).data;
  var text = "ЛКМ =  Bключить/выключить\nСКМ = Добавить текст \nПКМ = Сбросить";
  var L_text = "Выделяемое:  ";
  this.tooltipText = this.label +"\n" + text +"\n\n"+ L_text + HighlightValue;
}
this.setAttribute("onmouseover", "this.showHighlightAdd()");



//Стоп, при открытии настройки панелей....................................................
if (window.Inko7_AutoHighlightStop) return;



// проверить наличие строк в about:config и создать если не существует (Add preferences)
var f;
try{
    f = prefs.getBoolPref("Auto.Highlight");
}
catch(e){
    prefs.setBoolPref("Auto.Highlight", true);
    prefs.setCharPref("ui.textHighlightBackground", "#ef0fff");
    HighlightAdd(event);
}


// Авто выделение, добавить текст
function HighlightAdd(event){
        // Get the root branch
var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
// setting Unicode value
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
       // read from selected
       var text = document.commandDispatcher.focusedWindow.getSelection();
       if (text != '')
       {
       str.data = text;
       }
       else
       {
    
    // read from Clipboard
    //str.data = readFromClipboard();
       
 // read from popup promtBox
       var SURL = custombuttons.promptBox("Автовыделение", "Bведите текст:", "");
       if (SURL[0] == false) return;
       else
       str.data = [SURL[1]];
       };

       // setting prefs Unicode value
       prefs.setComplexValue("Auto.Highlight.value",Components.interfaces.nsISupportsString, str);
       // getting prefs Unicode value
       var Avalue = prefs.getComplexValue("Auto.Highlight.value",Components.interfaces.nsISupportsString).data

       // Sliding alert
       if (Avalue == "")
       {
       //Всплывающая подсказка
       alertsService.showAlertNotification(button.image, "Автовыделение", "Нет данных для обработки", false, "", null, ""); 
       }
    else
       {
       //Всплывающая подсказка
       prefs.setBoolPref("Auto.Highlight",true);
       ToggleImage(event);
       alertsService.showAlertNotification(button.image, "Автовыделение", Avalue, false, "", null, ""); 
       Highlight(event);
       }
       // run auto Highlight
       Highlight(event);
};



// Авто выделение, включить
function switchHighlight(event){
       // toggle preference
       var s = "Auto.Highlight";
       custombuttons.setPrefs(s, !custombuttons.getPrefs(s));
       // toggle image
       ToggleImage(event);
       // run auto Highlight
        Highlight(event);
};



// Изменить иконку кнопки.................................................................
function ToggleImage(event){
if (custombuttonsUtils. getPrefs ("Auto.Highlight", true))
{
button.image="data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD+//4B////APX69AV9vWaPVJsR9GabDPiQrDGn6OzRG////wD+/v0B////AP///gL///0B////AP///wD///8A////AP3+/gP///8ActGnhRyqVP83q0r8PqMu/kqZDf9yoh7Wu8t8YNjan07m4bM9+ffqCf///wD///4B////AP///wD8/v8C//7/AOL5/A4d1NrUFc/G/yHEov0qt3b/NKtM/UGeHv9WlAD/eJcB/peZAP+nphzH5+bAIP///wD+/v8A/fz/A/3+/wH///8A5/b+CyG8/c4Jz/z/ENfm/RrLuf8nu4b/M61S/UGgJvtbnBH8fqAQ/IKXAP+lrjax/v76AP7+/gH///8A7fD9CNni/Bb///8Ac7/4dQCn9/8P1f38ENbh/xzIsf8ouoD/NKtL/0GeHf9enA79dJ0M/4yiGOrx8d0c/f3/AJaT7105O+TOHTjn5GuP8n7u9v4AOK/3ugW/+/8N2vX9FdDN/yDDoP8rtXD/N6c//kqdGPpcnBD/dqIZ3/L05BCVht5rLhXE/zMj0f0nKuL/EkHp7+Dm/Bq64/wyBKz4/w/W/fwP1+X/Gsq4/ya+kPwwsWH+M58o/jSSAP+exXNr////AFkwrepXMrT8SjPG9icg2v8xRunM8fX+BfL5/gcdpPbOBMH8/w/b9vwX0dH+FcKk/yS3evFZum2rpdOaUPj79gD///8BZy6R8lsqn/8/Hbb/NSfS6MPE+DDj7PwI8vP9ALHe/DQXs/nWAs/9/wDV5v9C1Mmwye/jI////wD///8B////AP7+/gG/oclQgVSpuIhuy4/OyfIheHbpgx815+4vZ+7C2uf8Fuz5/we+8P83y/f8Jvb9/QL///8A8vv4CZPUpGO837Y5////AP///wD6+f0D////AIVy1IsgEsz/Lini+Qow5/+Gq/Vq////AM/t/Ruo6/4+6/z9C////wB817lzE6dQ/zGeJfOs05lI/Pv9Bf///wDXy+knTCOu7UYvxf89KtH4Fhrh/4yb9GTB3/sjCJH07QC9+v854Pio9///AFHOsrMktnX/NKtO/0KoPsz9/P0D////AMey2ElWJaL/UzG4+k0vv/4sGs/5vLn1Mkl68aoLcvD/G6j4+QDH+v+29f8xY9zUkA/Eo/8swpH3JL6M/P38/gL///8A08DcNF8kkPlgNar9Sh2m/3texp/i4PsPKTDk7hxP7P8eefD7Apb1/47Z/E2x8vw2AMrv/wXN5/8O0Ova////AP///wH8+/wAoHe0iWkukfN+U66v8+31C9PL7iA3H8n6KSzi/yNF6/sMVe3/rc35PP///wB/zv1qM7L7u53e/j7///8A////AP///wD7+fsB6NzqD/n2+gT///8A7uf0EV80rONFKcD/LCTU/zxC47/u8P4D////Af7+/gH//f4A///+AP///wD///8A//7/AP79/gL///8A/v7/Av38/gT///8AsZHEZmAplv5gOrPQzMbwKf///wD9/f4C/f//A/7//wL9/v8CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
}
else
{
button.image="data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAD///8A/v7+AP39/QH9/f0B/f39Af39/QH///8AmJiYKQAAALEDAwPqAAAA1gAAAGm7u7sA////Afv7+wD///8A////AP39/QH9/f0D////AP///wD7+/sB////AKKiogoAAADJAAAA/wAAAP0BAQH+AAAA/wsLC3HDw8MA////Bfb29gP+/v4A////Aefn5wDT09MJ1tbWCdTU1AT///8AXFxcSwAAAPsEBAT/AAAA/gAAAPwFBQX/AAAA63Nzczvu7u4A/Pz8Avz8/AHr6+sJMjIyZgAAAL8CAgLCAAAApsbGxhhoaGhLAAAA/gUFBf8AAAD+AAAA/wAAAP0DAwP/AAAA6hMTE5eHh4cr3d3dACsrK4gAAAD/AwMD/gMDA/wAAAD/Hh4emy0tLQwAAADwAQEB/wAAAP4AAAD/AAAA/wAAAP8BAQH9AwMD/wAAAOcrKys5AwMD7gYGBv4AAAD7BAQE/QAAAP9KSkp5////ABUVFcIAAAD/AQEB/QAAAP8AAAD/AAAA/wAAAP4BAQH6BwcH/wICAr8BAQGfAAAA/wEBAf8AAADrBQUFeMbGxgX///8AGhoawQAAAP8BAQH+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD9BgYG66+vrwc1NTVCDw8PPgAAADUREREt0tLSF+7u7gAdHR27AAAA/wICAvsBAQH9AQEB/QEBAf0BAQH8AQEB+wICAv8BAQHC////AsHBwQAICAhzAAAA6AQEBP8AAADqWlpaL25ubj8AAAD4AgIC/wAAAP4AAAD/AAAA/wAAAP4CAgL/AAAA3VtbWznHx8cABgYGbwAAAP8BAQH+AAAA+AUFBf8AAAB18PDwAIyMjDwYGBiuGRkZwxgYGJQTExNzFhYWdQUFBWRgYGAb////ALS0tBwAAADXBQUF/wAAAPgFBQX/AAAA90tLSzunp6cApqamDaurqwP///8A////AP///wD///8A////AP///wD7+/sBtLS0LQAAAOwLCwv/CQkJ+wAAAP88PDyLkJCQDAICAqYAAADdAAAAkJCQkAP///8AW1tbLUlJSXFnZ2cR////AP7+/gHNzc0HDAwMpAAAAP8AAADuJycneRMTEw8PDw/AAQEB/wsLC/8AAAD6cnJyPHR0dB4AAADiAAAA/yAgIJX///8A/v7+Av///wC7u7sPgoKCRYqKii3T09MACgoKaAAAAP8BAQH4AgIC/AAAAP8vLy9GKysreQAAAP8FBQX/BwcH3LS0tAj///8A/f39Af39/QH///8A////AOzs7AYDAwPEAAAA/wAAAPsCAgL/AAAA8mtrawlMTEygAAAA/wgICP8AAADpampqGP///wD///8A/Pz8Afn5+QT+/v4B7e3tBAQEBMEAAAD/AQEB/QAAAP8TExNv////AFJSUosAAAD/AwMD/wEBAauurq4A////Av///wD///8A/v7+AP///wLv7+8AAwMDSwAAAOADAwPZAAAAZZOTkwP///8AT09PIQAAALYAAAC3oaGhIf///wD9/f0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
}
  };
ToggleImage(event);



// Автоматически выделить заранее введенные слова (auto Highlight words permanent)
function Highlight(event) {

// hide Highlight
gFindBar._highlightDoc(false);

// auto Highlight
if (custombuttonsUtils. getPrefs ("Auto.Highlight", true))
{
// getting prefs Unicode value
var value = prefs.getComplexValue("Auto.Highlight.value",
      Components.interfaces.nsISupportsString).data;

// Highlight
// createMsg("value").aMsg(value);
// var wordsToSearch = [value];
var wordsToSearch = value.split(" ");
    // createMsg("word").aMsg(wordsToSearch);
while (wordsToSearch. length > 0)
{
    gFindBar. _findField. value = wordsToSearch. shift ();
    gFindBar. toggleHighlight (true);
}
 }
  }; 
  
// Стоп, при открытии настройки панелей
// запускаем функцию
if (!window.Inko7_AutoHighlightStop) (function () {
//добавляем обработчики для табов........
gBrowser.tabContainer.addEventListener("TabSelect", function(event){
//стоп, если страница загружается
if (gBrowser.mCurrentTab.hasAttribute("busy")) return; 
Highlight(event) }, false);
gBrowser.addEventListener("pageshow", function(event){
//стоп, если открыть другие владки
if (event.target.location.href !== getBrowser().currentURI.spec) return;
Highlight(event) }, true);
})();


//устанавливаем флаг
window.Inko7_AutoHighlightStop = true;


Сама по себе кнопка работает, но тут спустя год обновился FindBar Tweak и кнопка перестала подсвечивать найденное :(
Может можно ее как-то переработать/оптимизировать, чтобы все снова заработало?

Отсутствует

 

№633920-05-2013 12:36:07

toxa
Участник
 
Группа: Members
Зарегистрирован: 11-04-2012
Сообщений: 261
UA: Firefox 20.0

Re: Custom Buttons

Infocatcher пишет

Эээ... а в чем проблема?

Работает же, вроде.

Работает, ага. Это вчера по причине позднего времени я запутался в трёх соснах, сейчас даже не могу воспроизвести эту ошибку.  :)

Спасибо за ссылочки, очень полезные ссылки!

Отсутствует

 

№634020-05-2013 21:50:09

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 10.0

Re: Custom Buttons

okkamas_knife пишет

существует ли функция удаляющая в массиве дубликаты?

Не слыхал про такую, но почему бы самому не сделать, например

скрытый текст

Выделить код

Код:

function deleteduplicates(array) {
    var newArray = [];
    array.forEach(function(x) { if (newArray.indexOf(x) < 0) newArray.push(x); });
    return newArray;
}
var n = ['aaa','bbb','aaa','ccc','ccc','bbb','ddd','eee','fff','eee'];
var z = deleteduplicates(n);
alert(z);

Отредактировано Dumby (20-05-2013 21:51:11)

Отсутствует

 

№634120-05-2013 22:08:52

2k1dmg
Участник
 
Группа: Members
Зарегистрирован: 06-04-2011
Сообщений: 190
UA: Firefox 21.0

Re: Custom Buttons

okkamas_knife
Dumby
http://stackoverflow.com/questions/9229 … ript-array

скрытый текст

Выделить код

Код:

function deleteduplicates(elem, pos, arr) {
  return arr.indexOf(elem) == pos;
}
var n = ['aaa','bbb','aaa','ccc','ccc','bbb','ddd','eee','fff','eee'];
var z = n.filter(deleteduplicates);
alert(z);

Отредактировано 2k1dmg (20-05-2013 22:11:37)

Отсутствует

 

№634227-05-2013 11:02:08

pshenk
Участник
 
Группа: Members
Зарегистрирован: 26-08-2007
Сообщений: 29
UA: Firefox 21.0

Re: Custom Buttons

Когда вышла 20 версия фокса, половина кнопок отвалилась и не работала, решить проблему помогло javascript.options.xml.chrome=true.
Теперь на 21 опять та же история, некоторые кнопки не работают, javascript.options.xml.chrome=true и ничего, плюс обновил само разрешение custom button, может быть из-за этого? Как можно это поправить?

Отсутствует

 

№634327-05-2013 12:23:29

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

pshenk
Может установи эти кнопки заново.

Добавлено 27-05-2013 12:49:02
Конвертирование старых кнопок с XML (E4X)

Firefox 20 и Custom Buttons 0.0.5.5

Отредактировано bunda1 (27-05-2013 12:49:02)

Отсутствует

 

№634427-05-2013 16:03:10

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 3.6

Re: Custom Buttons

Как удалить такой наблюдатель деструктором addDestructor(function() {  });

Выделить код

Код:

var menubar = document.getElementById('toolbar-menubar');

var observeMenubar = new MutationObserver(function() {
          func();
      }); 
observeMenubar.observe( menubar, { attributes: true} );

Добавлено 27-05-2013 16:24:36
Сам разобрался:

Выделить код

Код:

addDestructor(function() { observeMenubar.disconnect() });

Отредактировано bunda1 (27-05-2013 16:24:36)

Отсутствует

 

№634529-05-2013 11:38:55

Mishania
Участник
 
Группа: Members
Зарегистрирован: 22-10-2011
Сообщений: 356
UA: Firefox 21.0

Re: Custom Buttons

Пользуюсь расширением NewsFox, по умолчанию при нажатие на кнопку открывается вкладка chrome://newsfox/content/newsfox.xul. Как сделать кнопку чтоб вкладка открывалась в фоне (не переключалось на неё)? Спасибо.

Отсутствует

 

№634629-05-2013 12:41:16

Mishania
Участник
 
Группа: Members
Зарегистрирован: 22-10-2011
Сообщений: 356
UA: Firefox 21.0

Re: Custom Buttons

okkamas_knife
Спасибо.

Отсутствует

 

№634731-05-2013 08:45:28

firepox
Участник
 
Группа: Members
Зарегистрирован: 17-11-2011
Сообщений: 358
UA: Firefox 21.0

Re: Custom Buttons

ищу способ быстрого перевода на английский!

Приходится часто отвечать пиндосам.
Пишу на русском, копирую, перевожу, вставляю, отправляю.
Не удобно!

Хочется максимально быстро отправлять ответ на английском:
вбиваю текст на русском - "действие" - текст стал английским - отправил.
Рассмотрю все варианты!
Спасибо!

Отсутствует

 

№634831-05-2013 09:44:25

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: unknown 0.0

Re: Custom Buttons

Поискал в теме стилей ничего про кнопки не нашел, да и ветка вялотекущая, может здесь подскажут как убрать всплывающие подсказки у кнопок СB, пробовал и так и этак, никак.
browser.chrome.toolbar_tips;false для меня не подходит.


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№634931-05-2013 11:44:56

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2129
UA: Firefox 10.0

Re: Custom Buttons

villa7 пишет

убрать всплывающие подсказки у кнопок СB

На крайний случай

скрытый текст

Выделить код

Код:

addEventListener("popupshowing", function(e) {
    var node = document.tooltipNode;
    if (
        node &&
        node.nodeName == "toolbarbutton" &&
        node.id &&
        !node.id.indexOf("custombuttons-button")
    )
        e.preventDefault();
}, false);

Отсутствует

 

№635031-05-2013 12:01:36

Zaycoff
Участник
 
Группа: Extensions
Зарегистрирован: 18-02-2012
Сообщений: 1411
UA: Firefox 21.0

Re: Custom Buttons

villa7 пишет

убрать всплывающие подсказки у кнопок СB

наверное можно закинуть в инициализацию кнопки вот это:

Выделить код

Код:

this.tooltipText = "";

Отсутствует

 

Board footer

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