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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№207616-05-2018 18:30:09

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 339
UA: Firefox 57.0

Re: Обсуждение кнопок CB

Garalf пишет:

Можно ли восстановить работоспособность кнопки Autocopy+3 в FF60+

вот да, волшебно бы было. можно даже в просто 60 без плюсика ибо ЕСР. :blush:

Отсутствует

 

№207716-05-2018 19:46:01

drage2
Участник
 
Группа: Members
Откуда: Донецк
Зарегистрирован: 23-11-2017
Сообщений: 96
UA: Firefox 60.0

Re: Обсуждение кнопок CB

В FF 60 - настройка кнопки: вместо F2 - unknown_113 ? Парит реально , где поганка зарыта?

Простое переключение в about:config , типа false- true , делаю, но раньше проще было. Теперь вторую иконку прописывать надо....

PlacesUtils.history.clear(); Очистить историю , а надо "очистить историю закрытых вкладок"

Нужен дв.клик по вкладке - закрыть остальные! ...Есть креативщики?

Отредактировано drage2 (18-05-2018 09:49:48)

Отсутствует

 

№207819-05-2018 09:39:48

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

Re: Обсуждение кнопок CB

Garalf пишет:

Можно ли восстановить работоспособность кнопки Autocopy+3 в FF60+

Не, «+3», для меня слишком заморочно.
Решил попытаться просто Autocopy сделать, так не уверен,
что пригодно к использованию получилось.
Впрочем, можешь попробовать

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

Выделить код

Код:

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%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMBAAgEAAcHBAAIBwQACAcEAAgHBAAIBwQACAcEAAgHBAAIBwQACAQDAQEAAAAAAAAAAAAAAAADAgADAAAAACcVAB+qXAC3vGsB4LlqAd26agHeumoB3rpqAd66agHeumoB3rhoAN26agHgs2IAxTceAC8AAAAAAAEAAAIBAAQAAAQAoFcApv2zVv/+1qn8/9Of///Uov//1KL//9Si///Uov//1KL//9en//7Vpfz9t2L/tGMAvwEAAQAAAAAAKBUAH6FXAKnPcgD12IYf/dyMJ/3biiP924sk/duLJf3biyX924sm/dqJIv3im0P9/du1/P7Xqv+7agHdCQUACAAAAQCrXgCz+69R//TFj/vxvn//8r5///K+gP/yvoD/8r6A//K+f//yvX7/9MKH/9yMKv/inkv9/960/7loAN0HAwAICQUACLxrAdz91af//+LB/f/fu///4b///+G////hv///4b///+G///7fu///58n/8cOK/9qMK/3/4Lr/umoC3gcDAAgHBAAIuWoC3f/Vpf/+4MD9/t67//7fvv/+4L///uC///7gv//+377//t26///kxv/xwYb/248t/f/kw/+6agPeBwMACAcEAAi6agLe/9qw///oz/3/5cr//+fN///nzv//587//+fO///nzf/+5cj//+zW//LFj//bkC/9/+nN/7pqA94HAwAIBwQACLpqAt7/37n//+7c/f/r1v//7dn//+3a///t2v//7dr//+3Z//7q1f//8uP/8siW/9uQMf3/7NX/umoE3gcDAAgHBAAIumoC3v/jwf//8+j9//Dh///y5P//8+X///Pl///z5f//8uT//vDg///47v/yy53/25Ey/f/w3P+6awTeBwMACAcEAAi6agLe/+bJ///48v3/9er///bt///37v//9+////fu///27f/+9On///34//LOo//bkTL9//Hf/7lqBd0HAwAIBwQACLpqAt7/6c////z6/f/48f//+vT///r1///69f//+vX///r0//738P//////8dGo/9uTNf3/9Of/vGsE3AkEAAgHBAAIuWkC3f/q0f///v79//r0///79////Pj///z4///8+P//+/f//vn0///////y06z/2Iso+/3Def+rXQCzAAACAAkFAAi7agHd/u3a//////z//v39/////f////3////9/////f////3+/fz9/////fPcvv7QbwD1oVYCqScVAB8AAAAAAQACALRiAL/9yYf//vLk/P/t1///7tn//+7Z///u2f//7tn//+7Z///t1//98eP8/L1u/6BVAKYAAAUAAgEABAABAAAAAAAANx4ALrNhAMW7agLguWoC3bpqAt66agLeumoC3rpqAt66agLeuWoC3bxrAeCqWwC3JxUAHwAAAAADAgADAAAAAAAAAAAAAAAABAMCAQgEAAgHBAAIBwQACAcEAAgHBAAIBwQACAcEAAgHBAAICAQABwMDAgAAAAABAAAAAAAAAAAAAAAA6AGAQaAAgEGgAIBBgAAAQYAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAACAQQAAgEGAAoBBgAKAQcALgEE%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.closest%28%22toolbarpaletteitem%22%29%20%7C%7C%20%28script%20%3D%3E%20%7B%0A%09var%20id%20%3D%20%60CB%24%7B_id.slice%2820%29%7D%3AAutocopy%60%2C%20pid%20%3D%20id%20+%20%22Parent%22%3B%0A%09var%20nsvoStr%20%3D%20%60Components.utils.import%28%22resource%3A//gre/modules/Services.jsm%22%2C%20%7B%7D%29%60%3B%0A%09var%20nsvo%20%3D%20eval%28nsvoStr%29%2C%20%7BServices%7D%20%3D%20nsvo%2C%20parent%20%3D%20nsvo%5Bpid%5D%3B%0A%09if%20%28%21parent%29%20%7B%0A%09%09var%20cid%20%3D%20id%20+%20%22Child%22%2C%20u%20%3D%20code%20%3D%3E%20%22data%3A%2C%22%20+%20encodeURIComponent%28code%29%3B%0A%09%09var%20pref%20%3D%20%22CB.Autocopy.settings%22%2C%20topic%20%3D%20%22quit-application-granted%22%3B%0A%09%09var%20PREF_ENABLED%20%3D%201%2C%20PREF_BLINK%20%3D%202%2C%20PREF_RESET%20%3D%204%3B%0A%0A%09%09%28parent%20%3D%20nsvo%5Bpid%5D%20%3D%20%7B%0A%09%09%09init%28%29%20%7B%0A%09%09%09%09this.readSettings%28%29%3B%0A%09%09%09%09if%20%28%21this%5BPREF_ENABLED%5D%29%20return%3B%0A%09%09%09%09this.initChild%28%29%3B%0A%09%09%09%09if%20%28this%5BPREF_RESET%5D%29%20this.setObserver%28true%29%3B%0A%09%09%09%7D%2C%0A%09%09%09destroy%28reason%29%20%7B%0A%09%09%09%09var%20ud%20%3D%20reason%5B5%5D%20%3D%3D%20%22e%22%3B%0A%09%09%09%09if%20%28ud%20%7C%7C%20%21this.obsAdded%29%20this.saveSettings%28%29%3B%0A%09%09%09%09delete%20nsvo%5Bpid%5D%3B%0A%09%09%09%09if%20%28reason%20%3D%3D%20%22delete%22%29%20Services.prefs.clearUserPref%28pref%29%3B%0A%09%09%09%09if%20%28%21this%5BPREF_ENABLED%5D%29%20return%3B%0A%0A%09%09%09%09this.destroyChild%28%29%3B%0A%09%09%09%09if%20%28ud%20%26%26%20this%5BPREF_RESET%5D%29%20this.setObserver%28false%29%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20processURL%28%29%20%7B%0A%09%09%09%09delete%20this.processURL%3B%0A%09%09%09%09this.frameURL%20%3D%20u%28%60%24%7BnsvoStr%7D%5B%22%24%7Bcid%7D%22%5D.init%28this%29%3B%60%29%3B%0A%09%09%09%09return%20this.processURL%20%3D%20u%28script.replace%28/%25ID%25/g%2C%20cid%29%0A%09%09%09%09%09.replace%28%22%25NSVO%25%22%2C%20nsvoStr%29.replace%28%22%25BLINK%25%22%2C%20this%5BPREF_BLINK%5D%29%0A%09%09%09%09%29%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20frameURLDestroy%28%29%20%7B%0A%09%09%09%09delete%20this.frameURLDestroy%3B%0A%09%09%09%09this.processURLDestroy%20%3D%20u%28%60%24%7BnsvoStr%7D%5B%22%24%7Bcid%7D%22%5D.forget%28%29%3B%60%29%3B%0A%09%09%09%09return%20this.frameURLDestroy%20%3D%20u%28%60%24%7BnsvoStr%7D%5B%22%24%7Bcid%7D%22%5D.destroy%28this%29%3B%60%29%3B%0A%09%09%09%7D%2C%0A%09%09%09initChild%28%29%20%7B%0A%09%09%09%09Services.ppmm.loadProcessScript%28this.processURL%2C%20true%29%3B%0A%09%09%09%09Services.mm.loadFrameScript%28this.frameURL%2C%20true%29%3B%0A%09%09%09%7D%2C%0A%09%09%09destroyChild%28%29%20%7B%0A%09%09%09%09Services.mm.removeDelayedFrameScript%28this.frameURL%29%3B%0A%09%09%09%09Services.mm.loadFrameScript%28this.frameURLDestroy%2C%20false%29%3B%0A%09%09%09%09Services.ppmm.removeDelayedProcessScript%28this.processURL%29%3B%0A%09%09%09%09Services.ppmm.loadProcessScript%28this.processURLDestroy%2C%20false%29%3B%0A%09%09%09%7D%2C%0A%09%09%09readSettings%28%29%20%7B%0A%09%09%09%09this.prefVal%20%3D%20Services.prefs.getIntPref%28pref%2C%203%29%3B%0A%09%09%09%09for%28var%20setting%20of%20%5BPREF_ENABLED%2C%20PREF_BLINK%2C%20PREF_RESET%5D%29%0A%09%09%09%09%09this%5Bsetting%5D%20%3D%20Boolean%28this.prefVal%20%26%20setting%29%3B%0A%09%09%09%7D%2C%0A%09%09%09saveSettings%28%29%20%7B%0A%09%09%09%09var%20settings%20%3D%200%3B%0A%09%09%09%09for%28var%20setting%20of%20%5BPREF_ENABLED%2C%20PREF_BLINK%2C%20PREF_RESET%5D%29%0A%09%09%09%09%09if%20%28this%5Bsetting%5D%29%20settings%20+%3D%20setting%3B%0A%09%09%09%09if%20%28this.prefVal%20%21%3D%20settings%29%0A%09%09%09%09%09Services.prefs.setIntPref%28pref%2C%20settings%29%3B%0A%09%09%09%7D%2C%0A%09%09%09btns%3A%20new%20Set%28%29%2C%0A%09%09%09register%28btn%29%20%7B%0A%09%09%09%09this.btns.add%28btn%29%3B%0A%09%09%09%09btn._handleClick%20%3D%20this.click%3B%0A%09%09%09%09btn.oncontextmenu%20%3D%20this.context%3B%0A%09%09%09%09this.setImg%28btn%2C%20this%5BPREF_ENABLED%5D%29%3B%0A%09%09%09%7D%2C%0A%09%09%09unregister%28btn%2C%20reason%29%20%7B%0A%09%09%09%09this.btns.delete%28btn%29%3B%0A%09%09%09%09if%20%28%21this.btns.size%29%20this.destroy%28reason%29%3B%0A%09%09%09%7D%2C%0A%09%09%09setImg%28btn%2C%20state%29%20%7B%0A%09%09%09%09btn.ownerDocument.getAnonymousElementByAttribute%28%0A%09%09%09%09%09btn%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%0A%09%09%09%09%29.src%20%3D%20state%0A%09%09%09%09%09%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%09%09%09%09%09%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%09%09%09%7D%2C%0A%09%09%09click%28%29%20%7B%0A%09%09%09%09var%20newState%20%3D%20parent%5BPREF_ENABLED%5D%20%3D%20%21parent%5BPREF_ENABLED%5D%3B%0A%09%09%09%09for%28var%20btn%20of%20parent.btns%29%20parent.setImg%28btn%2C%20newState%29%3B%0A%09%09%09%09newState%20%3F%20parent.initChild%28%29%20%3A%20parent.destroyChild%28%29%3B%0A%09%09%09%09if%20%28parent%5BPREF_RESET%5D%29%20parent.setObserver%28newState%29%3B%0A%09%09%09%7D%2C%0A%09%09%09context%28e%29%20%7B%0A%09%09%09%09if%20%28e.ctrlKey%20%7C%7C%20e.shiftKey%29%20return%3B%0A%09%09%09%09if%20%28e.detail%20%3E%201%29%20return%20parent.popup.hidePopup%28%29%3B%0A%09%09%09%09if%20%28%21this.contains%28parent.popup%29%29%20this.appendChild%28parent.popup%29%3B%0A%09%09%09%09e.preventDefault%28%29%3B%0A%09%09%09%09parent.popup.openPopup%28this%2C%20%22after_start%22%29%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20popup%28%29%20%7B%0A%09%09%09%09var%20win%20%3D%20Services.wm.getMostRecentWindow%28%22navigator%3Abrowser%22%29%3B%0A%09%09%09%09var%20doc%20%3D%20win.document%2C%20popup%20%3D%20doc.createElement%28%22menupopup%22%29%3B%0A%09%09%09%09popup.setAttribute%28%22onclick%22%2C%20%22event.stopPropagation%28%29%3B%22%29%3B%0A%09%09%09%09popup.setAttribute%28%22oncommand%22%2C%20%22handleCommand%28event.target%29%3B%22%29%3B%0A%09%09%09%09for%28var%20%5Blab%2C%20pref%5D%20of%20win.Object.entries%28%7B%0A%09%09%09%09%09%22%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%22%3A%20PREF_BLINK%2C%0A%09%09%09%09%09%22%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%22%3A%20PREF_RESET%0A%09%09%09%09%7D%29%29%20%7B%0A%09%09%09%09%09var%20menuitem%20%3D%20popup.appendChild%28doc.createElement%28%22menuitem%22%29%29%3B%0A%09%09%09%09%09menuitem.setAttribute%28%22label%22%2C%20lab%29%3B%0A%09%09%09%09%09menuitem.setAttribute%28%22type%22%2C%20%22checkbox%22%29%3B%0A%09%09%09%09%09if%20%28this%5Bmenuitem.pref%20%3D%20pref%5D%29%20menuitem.setAttribute%28%22checked%22%2C%20true%29%3B%0A%09%09%09%09%7D%0A%09%09%09%09popup.handleCommand%20%3D%20menuitem%20%3D%3E%20%7B%0A%09%09%09%09%09var%20newState%20%3D%20this%5Bmenuitem.pref%5D%20%3D%20menuitem.hasAttribute%28%22checked%22%29%3B%0A%09%09%09%09%09if%20%28%21this%5BPREF_ENABLED%5D%29%20return%3B%0A%0A%09%09%09%09%09if%20%28menuitem.pref%20%3D%3D%20PREF_BLINK%29%0A%09%09%09%09%09%09Services.ppmm.broadcastAsyncMessage%28cid%20+%20%22%3AFromParent%22%2C%20%7Bblink%3A%20newState%7D%29%3B%0A%09%09%09%09%09else%20if%20%28menuitem.pref%20%3D%3D%20PREF_RESET%29%0A%09%09%09%09%09%09this.setObserver%28newState%29%3B%0A%09%09%09%09%7D%0A%09%09%09%09delete%20this.popup%3B%20return%20this.popup%20%3D%20popup%3B%0A%09%09%09%7D%2C%0A%09%09%09obsAdded%3A%20false%2C%0A%09%09%09setObserver%28set%29%20%7Bthis.obsAdded%20%3D%20set%0A%09%09%09%09%3F%20Services.obs.addObserver%28this%2C%20topic%2C%20false%29%0A%09%09%09%09%3A%20Services.obs.removeObserver%28this%2C%20topic%29%3B%0A%09%09%09%7D%2C%0A%09%09%09observe%28%29%20%7B%0A%09%09%09%09Services.obs.removeObserver%28this%2C%20topic%29%3B%0A%09%09%09%09this%5BPREF_ENABLED%5D%20%3D%20false%3B%0A%09%09%09%09this.saveSettings%28%29%3B%0A%09%09%09%7D%0A%09%09%7D%29.init%28%29%3B%0A%09%7D%0A%09parent.register%28this%29%3B%0A%09addDestructor%28reason%20%3D%3E%20parent.unregister%28this%2C%20reason%29%2C%20parent%29%3B%0A%0A%7D%29%28%60%28nsvo%20%3D%3E%20%28nsvo%5B%22%25ID%25%22%5D%20%3D%20%7B%0A%09x%3A%20-1%2C%20y%3A%20-1%2C%20d%3A%20false%2C%0A%09handleEvent%28e%29%20%7Be.button%20%7C%7C%20this%5Be.type%5D%28e%29%3B%7D%2C%0A%09mousedown%28e%29%20%7Bthis.x%20%3D%20e.screenX%3B%20this.y%20%3D%20e.screenY%2C%20this.down%20%3D%20true%3B%7D%2C%0A%09mouseup%28e%29%20%7B%0A%09%09var%20%7Bdown%7D%20%3D%20this%3B%20this.down%20%3D%20false%3B%20if%20%28%21down%29%20return%3B%0A%09%09if%20%28e.screenX%20%3D%3D%20this.x%20%26%26%20e.screenY%20%3D%3D%20this.y%20%26%26%20%28e.detail%20%3D%3D%201%20%7C%7C%20e.target.matches%28%0A%09%09%09%22textarea%5Bdisabled%5D%2Cinput%5Bdisabled%5D%2Cbutton%2Cselect%2Csummary%22%0A%09%09%29%29%29%0A%09%09%09return%3B%0A%09%09var%20name%20%3D%20e.originalTarget.nodeName%3B%0A%09%09if%20%28/%5E%28%3F%3A%28%3F%3Axul%3A%29%3F%28%3F%3Aslider%7Cscrollbarbutton%29%7Cresizer%29%24/.test%28name%29%29%0A%09%09%09return%3B%0A%09%09this.x%20%3D%20this.y%20%3D%20-1%3B%0A%09%09var%20win%20%3D%20this.getFocusedWin%28e.target.ownerGlobal%29%3B%0A%09%09var%20sel%20%3D%20win.getSelection%28%29%3B%0A%09%09if%20%28sel.toString%28%29%29%20%7B%0A%09%09%09this.cm.doCommand%28%22cmd_copy%22%2C%20null%2C%20win%29%3B%0A%09%09%09this.blinkEnabled%20%26%26%20this.blink%28win%2C%20e.detail%20%3E%201%29%3B%0A%09%09%7D%0A%09%7D%2C%0A%09blinkEnabled%3A%20%25BLINK%25%2C%0A%09blink%28win%2C%20pause%29%20%7B%0A%09%09if%20%28pause%29%20return%20win.setTimeout%28%28%29%20%3D%3E%20this.blink%28win%29%2C%20100%29%3B%0A%09%09var%20sc%20%3D%20win.QueryInterface%28Components.interfaces.nsIInterfaceRequestor%29%0A%09%09%09.getInterface%28Components.interfaces.nsIWebNavigation%29%0A%09%09%09.QueryInterface%28Components.interfaces.nsIDocShell%29%0A%09%09%09.QueryInterface%28Components.interfaces.nsIInterfaceRequestor%29%0A%09%09%09.getInterface%28Components.interfaces.nsISelectionDisplay%29%0A%09%09%09.QueryInterface%28Components.interfaces.nsISelectionController%29%3B%0A%09%09sc.setDisplaySelection%28sc.SELECTION_OFF%29%3B%0A%09%09sc.repaintSelection%28sc.SELECTION_NORMAL%29%3B%0A%09%09win.setTimeout%28%28%29%20%3D%3E%20%7B%0A%09%09%09sc.setDisplaySelection%28sc.SELECTION_ON%29%3B%0A%09%09%09sc.repaintSelection%28sc.SELECTION_NORMAL%29%3B%0A%09%09%7D%2C%20150%29%3B%0A%09%7D%2C%0A%09getFocusedWin%28win%29%20%7B%0A%09%09var%20focusedWin%20%3D%20%7B%7D%3B%0A%09%09var%20elm%20%3D%20Services.focus.getFocusedElementForWindow%28win.top%2C%20true%2C%20focusedWin%29%3B%0A%09%09return%20focusedWin.value%3B%0A%09%7D%2C%0A%09get%20cm%28%29%20%7B%0A%09%09delete%20this.cm%3B%0A%09%09return%20this.cm%20%3D%20Components.classes%5B%22@mozilla.org/embedcomp/command-manager%3B1%22%5D%0A%09%09%09.getService%28Components.interfaces.nsICommandManager%29%3B%0A%09%7D%2C%0A%09count%3A%200%2C%0A%09init%28cfmm%29%20%7B%0A%09%09this.count%20+%3D%201%3B%0A%09%09cfmm.addEventListener%28%22mousedown%22%2C%20this%29%3B%0A%09%09cfmm.addEventListener%28%22mouseup%22%2C%20this%29%3B%0A%09%09cfmm.addEventListener%28%22unload%22%2C%20this%29%3B%0A%09%09if%20%28this.count%20%3D%3D%201%29%0A%09%09%09this.cpmm.addMessageListener%28%22%25ID%25%3AFromParent%22%2C%20this%29%3B%0A%09%7D%2C%0A%09destroy%28cfmm%29%20%7B%0A%09%09this.count%20-%3D%201%3B%0A%09%09cfmm.removeEventListener%28%22mousedown%22%2C%20this%29%3B%0A%09%09cfmm.removeEventListener%28%22mouseup%22%2C%20this%29%3B%0A%09%09cfmm.removeEventListener%28%22unload%22%2C%20this%29%3B%0A%09%09if%20%28%21this.count%29%0A%09%09%09this.cpmm.removeMessageListener%28%22%25ID%25%3AFromParent%22%2C%20this%29%3B%0A%09%7D%2C%0A%09receiveMessage%28msg%29%20%7B%0A%09%09if%20%28%22blink%22%20in%20msg.data%29%20this.blinkEnabled%20%3D%20msg.data.blink%3B%0A%09%7D%2C%0A%09unload%28e%29%20%7Bthis.destroy%28e.target%29%3B%7D%2C%0A%09forget%3A%20%28%29%20%3D%3E%20delete%20nsvo%5B%22%25ID%25%22%5D%0A%0A%7D%29.cpmm%20%3D%20this%29%28%25NSVO%25%29%3B%60%29%3B%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%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


drage2 пишет:

В FF 60 - настройка кнопки: вместо F2 - unknown_113 ? Парит реально , где поганка зарыта?

Ага, вижу. Поганка зарыта там же, где и обычно.

скрытый текст
Замени в CBKeyMapComponent.js

Выделить код

Код:

            var ikey = Components. interfaces. nsIDOMKeyEvent;

на

Выделить код

Код:

            var ikey = Components. interfaces. nsIDOMKeyEvent ||
                Cc ["@mozilla.org/appshell/appShellService;1"].
                    getService (Ci. nsIAppShellService).
                    hiddenDOMWindow. KeyEvent;

Ну, или вот, custom_buttons-0.0.5.8.9-fixed8.xpi с этой правкой.

Отредактировано Dumby (19-05-2018 09:46:19)

Отсутствует

 

№207919-05-2018 10:30:28

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 339
UA: Firefox 57.0

Re: Обсуждение кнопок CB

Dumby пишет:

Впрочем, можешь попробовать

я попробовал. гмм, сейчас глянул, из той автокопи+3 я только и пользовался функцией копирования при выделении текста. так что все прекрасно, спасибо. :)

Добавлено 19-05-2018 10:49:00
а вот эта кнопка поддается исправлению?

Выделить код

Код:

// Создать кнопку ярлык для сайта, от 18.08.2014.

// Дублировать кнопку и установить для новый кнопки иконку, название и код ................................
custombuttons.cloneButton( self );

var newButtonLink = custombuttons.makeButtonLink("update", self.nextSibling.id );
var params = custombuttons.cbService.getButtonParameters( newButtonLink ).wrappedJSObject;

params.name = gBrowser.mCurrentTab.label;   
params.image = gBrowser.mCurrentTab.image || "chrome://global/skin/icons/Portrait.png";
params.code = "gBrowser.selectedTab = loadURI ('" + content.location + "');";
params.initCode = "var icon = document.getAnonymousElementByAttribute( this, 'class', 'toolbarbutton-icon');" + "\n" +
                   "icon.style.width = '16px', icon.style.height = '16px';"   
   
params.wrappedJSObject = params;
custombuttons.cbService.installButton( params );

ВНИМАНИЕ!!! этот код на 60 ЕСР у меня завоевал весь мир! она, кнопка эта, начала копировать сама себя, клоны начали плодить клонов, эти клоны рождали других, ценой неимоверных нечеловеческих усилий я остановил размножение этой кнопки и спас мир от такого кода.

Отредактировано sonyas75 (19-05-2018 10:56:08)

Отсутствует

 

№208019-05-2018 11:05:14

drage2
Участник
 
Группа: Members
Откуда: Донецк
Зарегистрирован: 23-11-2017
Сообщений: 96
UA: Firefox 60.0

Re: Обсуждение кнопок CB

Dumby
Хвала! Всё, осталось дв.клик по вкладке....Остальное уже не важно. Ff60 - курвье маjko, мультипроцесс портит все...
Гонят фуфло и не краснеют...Из прЫнципа сломаю его, один хрен. Может скреативишся? Даешь, эту кнопку(дв.клик)
Чува тебе Бог!

this.onclick = function(e) {

Как на левую клавишу запустить конкретный файл? Это для кнопки Memory.

Отредактировано drage2 (19-05-2018 17:01:43)

Отсутствует

 

№208120-05-2018 09:07:21

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

Re: Обсуждение кнопок CB

sonyas75 пишет:

этот код на 60 ЕСР у меня завоевал весь мир! она, кнопка эта, начала копировать сама себя, клоны начали плодить клонов

Звучит так, как если бы код попал во вкладку Инициализация.
Но он явно педназначен для вкладки Код.

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

Выделить код

Код:

custombuttons.cloneButton(self, true);
var newButtonLink = custombuttons.makeButtonLink("update", self.nextSibling.id);
var params = custombuttons.cbService.getButtonParameters(newButtonLink).wrappedJSObject;

params.name = gBrowser.selectedTab.label;   
params.image = gBrowser.selectedTab.image || "chrome://global/skin/icons/Portrait.png";
params.code = `loadURI("${gBrowser.currentURI.spec}");`;
params.initCode = 'document.getAnonymousElementByAttribute(self, "class", "toolbarbutton-icon")\n\t'
    + '.style.cssText = "width: 16px; height: 16px;";';

custombuttons.cbService.installButton(params.wrappedJSObject = params);


drage2 пишет:

Даешь, эту кнопку(дв.клик)

Подробностей снова нет. Может так попробуй

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

Выделить код

Код:

((trg, param, tab, lst = {
    handleEvent(e) {
        if (e.button || e.ctrlKey || e.shiftKey || e.altKey) return;
        this[e.type](e);
    },
    click: e => e.detail == 2 && tab && e.stopPropagation(),
    mouseup(e) {
        if (e.detail < 2) return tab = e.target;
        if (tab.nodeName == "tab" && (tab = e.target == tab))
            setTimeout(this.closeTabs, 50, gBrowser.selectedTab);
    },
    closeTabs(tab) {
        var hbuTabs = [];
        for(var t of gBrowser.visibleTabs.reverse()) if (//!t.pinned &&
            t != tab) gBrowser._hasBeforeUnload(t)
                ? hbuTabs.push(t) : gBrowser.removeTab(t, param);
        for(t of hbuTabs) gBrowser.removeTab(t, param);
    }
}) => ["mouseup", "click"].forEach(type => addEventListener(type, lst, true, trg)))(
    gBrowser.tabs[0].boxObject.parentBox, {animate: false}
);


drage2 пишет:

this.onclick = function(e) {

Как на левую клавишу запустить конкретный файл?

this._handleClick = FileUtils.File("C:\\Windows\\notepad.exe").launch;

Отсутствует

 

№208220-05-2018 09:27:13

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 339
UA: Firefox 57.0

Re: Обсуждение кнопок CB

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

Dumby пишет:

Но он явно педназначен для вкладки Код.

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


Dumby
спасибо, работает :)

Отсутствует

 

№208320-05-2018 11:03:47

drage2
Участник
 
Группа: Members
Откуда: Донецк
Зарегистрирован: 23-11-2017
Сообщений: 96
UA: Firefox 60.0

Re: Обсуждение кнопок CB

Dumby

Круто.....Не постоје речи!
Что-то я затупил в 60 прошло this._handleClick = FileUtils.File("C:\\Windows\\notepad.exe").launch; , а в 57 нет , не могу сюда вставить...

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

Выделить код

Код:

// По клику подробно показать потребление памяти в вкладке, автор кода 'Dumby' .........................
   memoryDisplay.onclick = function(e) {
   e.target.setAttribute("context", "event.stopPropagation()");
      if ( e.button == 2) {
         
         
          // очистить кэш ....
          try {
              Services.cache.evictEntries(Ci.nsICache.STORE_IN_MEMORY);
              Services.cache.evictEntries(Ci.nsICache.STORE_ON_DISK);
              }
          catch(e) { Services.cache2.clear() }
    
          // Удалить Flash кукиси ....
          var dir = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("Home", Ci.nsIFile);
          dir.append("Application Data");
          dir.append("Macromedia");
          if ( dir.exists() ) dir.remove(true);
          if ( !dir.exists() ) dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);


Вопрос снят...Справился. Эта 60-запарила....PlacesCommandHook.bookmarkCurrentPage(true, PlacesUtils.bookmarksMenuFolderId); -не срабатыват

Отредактировано drage2 (21-05-2018 00:23:57)

Отсутствует

 

№208421-05-2018 08:15:00

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

Re: Обсуждение кнопок CB

drage2 пишет:

Эта 60-запарила....PlacesCommandHook.bookmarkCurrentPage(true, PlacesUtils.bookmarksMenuFolderId); -не срабатыват

:/

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

Выделить код

Код:

(self.bookmarkCurrentPage || (self.bookmarkCurrentPage = eval(`(${
    PlacesCommandHook.bookmarkPage.toSource()
        .replace("async", "$& function")
        .replace("unfiledGuid", "menuGuid")
})`).bind(PlacesCommandHook)))(gBrowser.selectedBrowser, true);

Отсутствует

 

№208521-05-2018 10:44:37

drage2
Участник
 
Группа: Members
Откуда: Донецк
Зарегистрирован: 23-11-2017
Сообщений: 96
UA: Firefox 57.0

Re: Обсуждение кнопок CB

Dumby
Шикарно....Странно, что в 57 хватило и того кода...Теперь сходу в "меню закладок" ...Эсли бы не мультипроцесс...Даже copyClipboard  не работает...

Последний вопрос: простое в About:config , типа: как проще? не охота вторую иконку прописывать ....
var s = "media.autoplay.enabled";
var ps = Services.prefs;
Кажись Ваш код, ну,мало переделал, а как this.tooltipText = вставить?

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

Выделить код

Код:

// Дополнительные возможности для значка идентификации сайта в строке адреса .....
 (function copyAddrIdentIco() {
      const identBox = document.getElementById("identity-box");
      addEventListener("click", e => {
      
      e.stopPropagation();
      e.target.setAttribute("context", "event.stopPropagation()");
           switch (e.button) {
                case 2:  // ПКМ без запроса открывает информацию о странице в вкладке 'Мультимедиа' ....
                         identBox.onclick = function() { return false; }
                         let doc = content.document;
                         BrowserPageInfo( doc, ( (doc.location.protocol).slice(0,4) == "http") ? "mediaTab" : "generalTab" );
                         break;   // generalTab, mediaTab, feedTab, permTab, securityTab

             case 0:  // ЛКМ Добавит закладку ....     
                if ( e.ctrlKey || e.shiftKey ) {
                      identBox.oncontextmenu = function() { return true; }
                      break;
                     } else { identBox.oncontextmenu = function() { return false; } };
               (self.bookmarkCurrentPage || (self.bookmarkCurrentPage = eval(`(${
    PlacesCommandHook.bookmarkPage.toSource()
        .replace("async", "$& function")
        .replace("unfiledGuid", "menuGuid")
})`).bind(PlacesCommandHook)))(gBrowser.selectedBrowser, true);
           
             // значок идентификации сайта мигает 
             identBox.setAttribute("style", "background:red;");
             setTimeout(function() { identBox.removeAttribute("style") }, 300);
         }
       } , true, identBox );
 })();


Как ? Сюда Вставить это    identity.icon.tooltiptext =

Отредактировано drage2 (22-05-2018 14:19:19)

Отсутствует

 

№208622-05-2018 01:55:37

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 339
UA: Firefox 57.0

Re: Обсуждение кнопок CB

drage2
ух ты ж ё , пропустил. а вот этот код под спойлером рабочий? просто тут посреди ночи проверить не на чем. я тоже хочу такое, вообще-то думал, что такое не восстановить :blush:

Отсутствует

 

№208722-05-2018 07:30:05

Ultima2m
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 28-11-2013
Сообщений: 561
UA: Firefox 58.0

Re: Обсуждение кнопок CB

sonyas75 пишет:

ух ты ж ё , пропустил. а вот этот код под спойлером рабочий?

Иконки мигают, но адрес не копирует и одновременно всплывает окно управления закладками.
Проверял на 60 портативке

Отсутствует

 

№208822-05-2018 07:50:05

drage2
Участник
 
Группа: Members
Откуда: Донецк
Зарегистрирован: 23-11-2017
Сообщений: 96
UA: Firefox 60.0

Re: Обсуждение кнопок CB

Ultima2m
Смотреть надо внимательней :
case 0:  // ЛКМ Добавит закладку ....     

Причем,закладку новую только в меню закладок....не в другие. И клик этот работает и в мультирежиме , а CopyClipboard - нет...

Добавлено 22-05-2018 08:00:49
sonyas75
Зацени...

Отредактировано drage2 (22-05-2018 08:00:49)

Отсутствует

 

№208922-05-2018 09:29:00

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 339
UA: Firefox 57.0

Re: Обсуждение кнопок CB

drage2 пишет:

Зацени...

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

Отсутствует

 

№209022-05-2018 16:36:25

drage2
Участник
 
Группа: Members
Откуда: Донецк
Зарегистрирован: 23-11-2017
Сообщений: 96
UA: Firefox 60.0

Re: Обсуждение кнопок CB

Коды из браузера
identity.icon.tooltip=
this._identityIcon.setAttribute("tooltiptext", gNavigatorBundle.getString("identity.icon.tooltip"));
Как дальше? Сюда:

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

Выделить код

Код:

// Дополнительные возможности для значка идентификации сайта в строке адреса .....
 (function copyAddrIdentIco() {
      const identBox = document.getElementById("identity-box");
      addEventListener("click", e => {
      
      e.stopPropagation();
      e.target.setAttribute("context", "event.stopPropagation()");
           switch (e.button) {
                case 2:  // ПКМ без запроса открывает информацию о странице в вкладке 'Мультимедиа' ....
                         identBox.onclick = function() { return false; }
                         let doc = content.document;
                         BrowserPageInfo( doc, ( (doc.location.protocol).slice(0,4) == "http") ? "mediaTab" : "generalTab" );
                         break;   // generalTab, mediaTab, feedTab, permTab, securityTab

             case 0:  // ЛКМ Добавит закладку ....     
                if ( e.ctrlKey || e.shiftKey ) {
                      identBox.oncontextmenu = function() { return true; }
                      break;
                     } else { identBox.oncontextmenu = function() { return false; } };
               (self.bookmarkCurrentPage || (self.bookmarkCurrentPage = eval(`(${
    PlacesCommandHook.bookmarkPage.toSource()
        .replace("async", "$& function")
        .replace("unfiledGuid", "menuGuid")
})`).bind(PlacesCommandHook)))(gBrowser.selectedBrowser, true);
           
             // значок идентификации сайта мигает 
             identBox.setAttribute("style", "background:red;");
             setTimeout(function() { identBox.removeAttribute("style") }, 300);
         }
       } , true, identBox );
 })();

Отсутствует

 

№209122-05-2018 18:23:33

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

Re: Обсуждение кнопок CB

drage2 пишет:

_identityIcon

_identityIcon так _identityIcon

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

Выделить код

Код:

(identBox => {
    var tip = "Some tooltip text";

    var icon = gIdentityHandler._identityIcon;
    addEventListener("mouseenter", () => icon.setAttribute("tooltiptext", tip), false, icon || 1);
    addDestructor(() =>
        icon.setAttribute("tooltiptext", gNavigatorBundle.getString("identity.icon.tooltip"))
    );
    var listener = {
        handleEvent(e) {
            e.ctrlKey || e.shiftKey || e.detail > 1 || this[e.type](e);
        },
        click(e) {
            if (e.button || !identBox.contains(e.target)) return;
            e.stopPropagation();
            this.bookmarkCurrentPage(gBrowser.selectedBrowser, true);
            identBox.setAttribute("style", "background:red;");
            setTimeout(() => identBox.removeAttribute("style"), 300);
        },
        contextmenu(e) {
            e.preventDefault();
            var url = gBrowser.currentURI.spec;
            BrowserPageInfo(url, url.startsWith("http") ? "mediaTab" : "generalTab");
        },
        get bookmarkCurrentPage() {
            delete this.bookmarkCurrentPage;
            return this.bookmarkCurrentPage = eval(`(${
                PlacesCommandHook.bookmarkPage.toSource()
                    .replace("async", "$& function")
                    .replace("unfiledGuid", "menuGuid")
            })`).bind(PlacesCommandHook);
        }
    };
    addEventListener("click", listener, true, identBox.parentNode);
    addEventListener("contextmenu", listener, false, identBox);
})(document.getElementById("identity-box") || 1);

Отсутствует

 

№209222-05-2018 18:46:19

drage2
Участник
 
Группа: Members
Откуда: Донецк
Зарегистрирован: 23-11-2017
Сообщений: 96
UA: Firefox 60.0

Re: Обсуждение кнопок CB

Dumby
Видал я крутых  креативщиков, но это...Нема речи...

А, это для 57....

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

Выделить код

Код:

// Дополнительные возможности для значка идентификации сайта в строке адреса .....
 (identBox => {
    var tip = "Л: Добавить закладку\nП: Мультимедиа";

    var icon = gIdentityHandler._identityIcon;
    addEventListener("mouseenter", () => icon.setAttribute("tooltiptext", tip), false, icon || 1);
    addDestructor(() =>
        icon.setAttribute("tooltiptext", gNavigatorBundle.getString("identity.icon.tooltip"))
    );
    var listener = {
        handleEvent(e) {
            e.ctrlKey || e.shiftKey || e.detail > 1 || this[e.type](e);
        },
        click(e) {
            if (e.button || !identBox.contains(e.target)) return;
            e.stopPropagation();
            PlacesCommandHook.bookmarkCurrentPage(true, PlacesUtils.bookmarksMenuFolderId);
            identBox.setAttribute("style", "background:red;");
            setTimeout(() => identBox.removeAttribute("style"), 300);
        },
        contextmenu(e) {
            e.preventDefault();
            var url = gBrowser.currentURI.spec;
            BrowserPageInfo(url, url.startsWith("http") ? "mediaTab" : "generalTab");
        },
        get bookmarkCurrentPage() {
            delete this.bookmarkCurrentPage;
            return this.bookmarkCurrentPage = eval(`(${
                PlacesCommandHook.bookmarkPage.toSource()
                    .replace("async", "$& function")
                    .replace("unfiledGuid", "menuGuid")
            })`).bind(PlacesCommandHook);
        }
    };
    addEventListener("click", listener, true, identBox.parentNode);
    addEventListener("contextmenu", listener, false, identBox);
})(document.getElementById("identity-box") || 1);


Заманало...Copy Url в мультережиме сдохло...

Отредактировано drage2 (23-05-2018 08:19:16)

Отсутствует

 

№209323-05-2018 10:09:54

momo2000
Участник
 
Группа: Members
Зарегистрирован: 03-09-2015
Сообщений: 29
UA: Firefox 59.0

Re: Обсуждение кнопок CB

Dumby

Не, «+3», для меня слишком заморочно.
Решил попытаться просто Autocopy сделать

А может кто поправить самую простецкую Autocopy?

Выделить код

Код:

({
        PREF_ROOT: "autocopy",
        init: function() {
                cbu.isPref(this.PREF_ROOT, true);
                gPrefService.addObserver(this.PREF_ROOT, this, false);
                addDestructor(()=> gPrefService.removeObserver(this.PREF_ROOT, this));
                if (!gPrefService.getBoolPref(this.PREF_ROOT)) return;
                this.setAutocopy(true);
        },
        observe: function(subj, topic, data) {
                if (data == this.PREF_ROOT)
                this.setAutocopy(gPrefService.getBoolPref(data));
        },
        setAutocopy: function(set) {
                var method = set ? addEventListener : removeEventListener;
                for(var type of ["mousedown", "mouseup"]) method(type, this, false, gBrowser);
        },
        handleEvent: function(e) {
                if (e.button || e.target instanceof Ci.nsIDOMNSEditableElement) return;
                var win = e.target.ownerDocument.defaultView;
                if (win.top != content) return;
                var sel = win.getSelection().toString();
                if (e.type == "mousedown") {this.sel = sel; return;}
                if (!sel || sel == this.sel) return;
                goDoCommand("cmd_copy");
        }
}).init();

Отсутствует

 

№209423-05-2018 11:44:34

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 339
UA: Firefox 57.0

Re: Обсуждение кнопок CB

momo2000
дык вроде код из этого поста Обсуждение кнопок CB | Форум Mozilla Россия дает простейшую автокопи

Отредактировано sonyas75 (23-05-2018 11:45:42)

Отсутствует

 

№209523-05-2018 15:00:44

momo2000
Участник
 
Группа: Members
Зарегистрирован: 03-09-2015
Сообщений: 29
UA: Firefox 59.0

Re: Обсуждение кнопок CB

sonyas75
не, это ещё проще, ту нельзая в другую кнопку в инициализацию вставить, плюс там ненужные функции мигания выделенного, иконки и т.д.

Отсутствует

 

Board footer

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