Duche
Щас поставил FF 38.0.1 кнопка NightStile работает как задумано. Только шаг яркости, чёта, слишком большой в сравнении с PaleMoon.
хз. что-то мешает у тебя. хотя странно, там все очень-очень просто. На мудрёное я пока не способен
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
На форуме
да, шаг яркости слишком большой, в два раза больше. На PM и FF49 до полной черноты 10 шагов колеса, а на FF 38 три(!)
Хотя через конт. меню ScreenDimmer все нормально, затемнение плавное, 10 кликов до черноты.
по-разному наверно срабатывает код:
this.addEventListener("DOMMouseScroll", function(e) { e.detail > 0 ? darken() : brigten(); }, false );
походу дважды срабатывает а не раз.
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
На форуме
можно ли в "автокопи" добавить функции копировать без пробелов, без запрещенных символов
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%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//%20Autocopy%2C%20%u043E%u0442%2021.02.2017.%20...............%0A%0A//%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%3De%3D%3E%20%7B%0A%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20cbu.setPrefs%28s%2C%20%21cbu.getPrefs%28s%29%29%3B%20%0A%20%20%20%20%20%20%20%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%20menu.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%20%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043C%u0435%u043D%u044E%20...............%0Avar%20array%20%3D%20%5B%0A%20%20%20%20%7B%20label%3A%20%27%u0412%u044B%u0434%u0435%u043B%u044F%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0441%20%u043F%u0440%u043E%u0431%u0435%u043B%u043E%u043C%20%u0441%u043F%u0440%u0430%u0432%u0430%27%2C%20value%3A%20%27layout.word_select.eat_space_to_next_word%27%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%27CB.Autocopy.selectingTextBlink%27%7D%2C%0A%20%20%20%20%7B%20label%3A%20%27%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%u0430%u0434%u0440%u0435%u0441%u043D%u043E%u0439%20%u0441%u0442%u0440%u043E%u043A%u0438%27%2C%20value%3A%20%27CB.Autocopy.addToAddressBar%27%7D%2C%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%27CB.Autocopy.reset%27%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%27CB.Autocopy.copyWithDoubleClick%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%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%27CB.Autocopy.saveWithDoubleClick%27%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%7D%2C%0A%5D%3B%0Avar%20menu%3D%20self.appendChild%28%20document.createElement%28%22menupopup%22%29%20%29%3B%0Aarray.forEach%28m%3D%3E%20%7B%0A%20%20%20if%20%28%20%22separator%22%20in%20m%20%29%20%7B%20menu.appendChild%28document.createElement%28%22menuseparator%22%29%29%3B%20return%20%7D%3B%0A%20%20%20var%20mItem%20%3D%20menu.appendChild%28document.createElement%28%22menuitem%22%29%29%3B%0A%20%20%20mItem.setAttribute%28%22label%22%2C%20m.label%29%3B%0A%20%20%20mItem.setAttribute%28%27type%27%2C%20%27checkbox%27%29%3B%0A%20%20%20mItem.setAttribute%28%27checked%27%2C%20cbu.getPrefs%28m.value%29%29%3B%0A%20%20%20mItem.onclick%20%3De%3D%3E%20cbu.setPrefs%28m.value%2C%20%21cbu.getPrefs%28m.value%29%29%3B%20%20%0A%7D%29%3B%0Amenu.setAttribute%28%22onclick%22%2C%20%22event.stopPropagation%28%29%22%29%3B%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%20...............%0Avar%20s%20%3D%20%22CB.Autocopy%22%3B%0Afunction%20toggleImage%28%29%20%7B%0A%20%20%20document.getAnonymousNodes%28self%29%5B1%5D.src%20%3D%20cbu.getPrefs%28s%29%0A%20%20%20%3F%20self.image%0A%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%0AgPrefService.addObserver%28s%2C%20toggleImage%2C%20false%29%3B%0AaddDestructor%28%28%29%3D%3E%20gPrefService.removeObserver%28s%2C%20toggleImage%29%20%29%3B%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...............%0Avar%20toggleButton%20%3D%20%7B%0A%20%20%20observe%3A%28subject%2C%20topic%2C%20data%29%3D%3E%20%7B%0A%20%20%20%20%20%20cbu.getPrefs%28%22CB.Autocopy.reset%22%29%20%26%26%20data%20%3D%3D%20%22shutdown%22%20%26%26%20cbu.setPrefs%28s%2C%20false%29%3B%20%20%0A%20%20%20%7D%0A%7D%3B%0AServices.obs.addObserver%28toggleButton%2C%20%22quit-application%22%2C%20false%29%3B%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%20...............%0Afunction%20autocopy%28e%29%20%7B%0A%20%20%20if%20%28%0A%20%20%20%20%20%20%20e.button%0A%20%20%20%20%20%20%20%7C%7C%20%21cbu.getPrefs%28s%29%0A%20%20%20%20%20%20%20%7C%7C%20gBrowser.contentDocument.defaultView.getSelection%28%29%20%3D%3D%20%22%22%0A%20%20%20%20%20%20%29%20return%3B%0A%0A%20%20%20//goDoCommand%28%27cmd_copy%27%29%3B%0A%20%20%20gClipboard.write%28%20gBrowser.contentDocument.defaultView.getSelection%28%29.toString%28%29.replace%28/%5Cs%5Cs+/g%2C%20%22%22%29.replace%28/%5B%3A%5C%5C%5C/%3C%3E%3F*%7C%22%5D+/g%2C%20%22%22%29%20%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%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%0A%20%20%20if%20%28%20%21cbu.getPrefs%28%22CB.Autocopy.selectingTextBlink%22%29%20%29%20return%3B%0A%20%20%20document.activeElement.blur%28%29%3B%20%20%0A%20%20%20setTimeout%28%28%29%3D%3E%20window.content.focus%28%29%2C%20300%29%3B%0A%7D%3B%0AaddEventListener%28%27mouseup%27%2C%20autocopy%2C%20false%2C%20gBrowser%29%3B%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%2C%20doc%20%3D%20this.document%20%7C%7C%20document%29%20%7B%0A%20%20%20if%20%28%0A%20%20%20%20%20%20%20e.button%20%21%3D%3D%201%0A%20%20%20%20%20%20%20%7C%7C%20%21cbu.getPrefs%28%27middlemouse.paste%27%29%0A%20%20%20%20%20%20%20%7C%7C%20%21/input%7Cpassword%7Ctextarea%7Ctextbox%7Csearchbar%7Cfindbar%7Ccbeditor/.test%28e.target.nodeName%29%0A%20%20%20%20%20%20%29%20return%3B%0A%0A%20%20%20e.preventDefault%28%29%3B%0A%20%20%20e.stopPropagation%28%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20%20//%20%u0432%u0441%u0442%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%0A%20%20%20var%20cmd%20%3D%20%22cmd_insertText%22%3B%0A%20%20%20var%20commandDispatcher%20%3D%20doc.commandDispatcher%3B%0A%20%20%20var%20controller%20%3D%20commandDispatcher.getControllerForCommand%28cmd%29%3B%0A%20%20%20var%20controller%20%3D%20controller.QueryInterface%28Ci.nsICommandController%29%3B%0A%20%20%20var%20params%20%3D%20Cc%5B%22@mozilla.org/embedcomp/command-params%3B1%22%5D.createInstance%28Ci.nsICommandParams%29%3B%0A%20%20%20params.setStringValue%28%22state_data%22%2C%20gClipboard.read%28%29%29%3B%0A%20%20%20controller.doCommandWithParams%28cmd%2C%20params%29%3B%0A%7D%3B%0AaddEventListener%28%22click%22%2C%20middleMousePaste%2C%20true%2C%20document.documentElement%29%3B%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%u0430%u0434%u0440%u0435%u0441%u043D%u043E%u0439%20%u0441%u0442%u0440%u043E%u043A%u0435%20...............%0AaddEventListener%28%22click%22%2C%20e%3D%3E%20%7B%0A%20%20%20if%20%28%20%21cbu.getPrefs%28%22CB.Autocopy.addToAddressBar%22%29%20%29%20return%3B%0A%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%0A%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20BrowserPageInfo%28%29%3B%0A%20%20%20%0A%20%20%20//%20%u041F%u041A%u041C%20%u0432%u0441%u0442%u0430%u0432%u0438%u0442%u044C%20%u0438%20%u043F%u0435%u0440%u0435%u0439%u0442%u0438%20%u0432%20%u0441%u0442%u0440%u043E%u043A%u0435%20%u0430%u0434%u0440%u0435%u0441%u0430%20%20%20%0A%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%20%7B%0A%20%20%20%20%20%20%20%20gURLBar.select%28%29%3B%0A%20%20%20%20%20%20%20%20goDoCommand%28%27cmd_paste%27%29%3B%0A%20%20%20%20%20%20%20%20gURLBar.handleCommand%28%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%u0421%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%0A%20%20%20if%20%28%20e.button%20%3D%3D%202%20%29%20%7B%0A%20%20%20%20%20%20%20%20gClipboard.write%28content.location%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.style.background%20%3D%20%22red%22%3B%0A%20%20%20%20%20%20%20%20setTimeout%28%28%29%3D%3E%20document.getElementById%28%22identity-box%22%29.style.background%20%3D%20%22%22%2C%20300%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%2C%20true%2C%20document.getElementById%28%22identity-box%22%29%29%3B%0A%20%0A%20%20%20%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%u0434%u0432%u043E%u0439%u043D%u043E%u0433%u043E%20%u043A%u043B%u0438%u043A%u0430%20%u043C%u044B%u0448%u0438%20...............%0Afunction%20handleDblClick%28e%29%20%7B%0A%20%20var%20node%20%3D%20e.target%3B%0A%20%20var%20editor%20%3D%20node.editor%3B%0A%20%20%20%20%20%20%20%20%20%20%20%0A%20%20//%20%u0441%u043E%u0445%u0440%u0430%u043D%u0438%u0442%u044C%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%0A%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20cbu.getPrefs%28%22CB.Autocopy.saveWithDoubleClick%22%29%20%26%26%20node.localName%20%3D%3D%20%27img%27%20%29%20%7B%0A%20%20%20%20%20%20%20var%20run%20%3D%20cbu.getPrefs%28%22browser.download.folderList%22%29%3B%0A%20%20%20%20%20%20%20var%20use%20%3D%20cbu.getPrefs%28%22browser.download.useDownloadDir%22%29%3B%0A%0A%20%20%20%20%20%20%20cbu.setPrefs%28%22browser.download.folderList%22%2C%202%29%3B%0A%20%20%20%20%20%20%20cbu.setPrefs%28%22browser.download.useDownloadDir%22%2C%20true%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%20function%20save%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20var%20func%20%3D%20eval%28gContextMenu.saveMedia.toSource%28%29.replace%28/%28false%2C%5Cs+%29false%2C/%2C%20%22%241true%2C%22%29%29%3B%0A%20%20%20%20%20%20%20%20%20%28save%20%3D%28%29%3D%3E%20func.call%28gContextMenu%29%29%28%29%3B%0A%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20save%28%29%3B%0A%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20setTimeout%28%28%29%3D%3E%20document.getElementById%28%22contentAreaContextMenu%22%29.hidePopup%28%29%2C%2020%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%20cbu.setPrefs%28%22browser.download.folderList%22%2C%20run%29%3B%0A%20%20%20%20%20%20%20cbu.setPrefs%28%22browser.download.useDownloadDir%22%2C%20use%29%3B%0A%20%20%20%20%20%20%20%7D%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%0A%20%20//%20%u043A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%0A%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20cbu.getPrefs%28%22CB.Autocopy.copyWithDoubleClick%22%29%20%26%26%20%21/findbar%7Ctabbrowser/.test%28node.localName%29%20%29%20%7B%20%0A%20%20%20%20%20%20%20editor%20%3F%20editor.copy%28%29%20%3A%20goDoCommand%28%22cmd_copy%22%29%3B%20%20%20%20%20%20%0A%20%20%20%20%20%20%20try%20%7B%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20var%20box%20%3D%20%28node.textbox%20%7C%7C%20node%29.inputField.parentNode%3B%0A%20%20%20%20%20%20%20%20%20%20%20var%20popup%20%3D%20box.ownerDocument.getAnonymousElementByAttribute%28box%2C%20%22anonid%22%2C%20%22input-box-contextmenu%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%28%29%3D%3E%20popup.hidePopup%28%29%2C%2050%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20catch%28e%29%20%7B%20setTimeout%28%28%29%3D%3E%20document.getElementById%28%22contentAreaContextMenu%22%29.hidePopup%28%29%2C%2050%29%20%7D%3B%20%0A%20%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%20%0A%7D%3B%0AaddEventListener%28%22dblclick%22%2C%20handleDblClick%2C%20false%2C%20gBrowser%29%3B%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%u043D%u043E%u0432%u044B%u0445%20%u043E%u043A%u043E%u043D%20...............%0Afunction%20observer%28subject%29%20%7B%0A%20%20%20subject.addEventListener%28%22load%22%2C%20e%3D%3E%20%7B%0A%20%20%20%20%20%20var%20doc%20%3D%20e.target%3B%0A%20%20%20%20%20%20var%20win%20%3D%20doc.defaultView%3B%0A%20%20%20%20%20%20%0A%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%u0434%u043B%u044F%20%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%u043E%u0432%20CB%20%u043A%u043D%u043E%u043F%u043E%u043A%0A%20%20%20%20%20%20if%20%28%20doc.URL%20%3D%3D%20%22chrome%3A//custombuttons/content/editor.xul%22%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20view.addEventListener%28%22dblclick%22%2C%20handleDblClick%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20view.addEventListener%28%22click%22%2C%20middleMousePaste.bind%28view%29%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%7D%29%3B%0A%7D%3B%0AServices.ww.registerNotification%28observer%29%3B%0AaddDestructor%28%28%29%3D%3E%20Services.ww.unregisterNotification%28observer%29%20%29%3B%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/*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
Добавлено 21-02-2017 21:21:00
Выделить кодКод:
this.addEventListener("DOMMouseScroll", function(e) { e.detail > 0 ? darken() : brigten(); }, false );походу дважды срабатывает а не раз.
Вот так не будет срабатывать дважды:
Отредактировано bunda1 (21-02-2017 21:21:00)
Отсутствует
bunda1 , класс!
Везде одинаково регулирует.
Duche
я вспомнил. У мя не работали гор. клавиши ScreenDimmer регулировки яркости ctrl+alt++ и ctrl+alt+- изза TabUtilities . Отключил TU - заработали клавиши ScreenDimmer.
Тогда я сделал так: из pref.js сохранил все настройки нач-ся с extensions.tabutils. и удалил дополнение. Рестарт.
Потом ставим дополнение TU , закрыл бравзер. Импорт в pref.js тех настроек что сделал копию. И то и то работает вместе.
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
На форуме
Помогите, пожалуйста, в создании кнопки, которая бы изменяла регион в Яндексе.
Поясняю: Открываем страницу https://yandex.ru/search/?text=запрос,
опускаемся вниз и видим регион Москва (у вас он может быть другой).
Нужна кнопка, при нажатии на которую, Москва поменялась бы, скажем, на Омск.
Я пошёл по такому пути:
function region_change() { region_second = content.document.getElementsByClassName('input__control input__input'); region_second[0].value="Омск"; region_second[0].focus();} //Begin: content.document.getElementsByClassName('link region-change__link')[0].click(); setTimeout(region_change,3000);
Дальше надо выбрать Омск из выпадающего списка и нажать СОХРАНИТЬ, но как это сделать- не знаю.
Всё поперепробовал-облом.
Отредактировано dedfor (23-02-2017 06:35:52)
Отсутствует
intersk пишет:
можно ли в "автокопи" добавить функции копировать без пробелов, без запрещенных символов
Выделить код
Код:custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xml
имел ввиду Автокопи+3
Отредактировано intersk (22-02-2017 10:01:00)
Отсутствует
Ранее задавал вопрос, но как то тема осталась без ответа . Подскажите, пожалуйста, существует ли возможность написать код , для реализации функции "Открыть выделенный фрагмент в MS Word" для вставки выделенного фрагмента страницы вместе с картинками , ссылками и текстом в MS Word , по типу "Открыть выделенный текст во внешнем редакторе txt" . Код нужен в виде дополнения для готовой кнопки . Расположение строки в контекстном меню как на скрине.
Заранее благодарю.
Отсутствует
Помогите пожалуйста добавить кнопку в контекстное меню, наподобие расширения Save Text to File
https://addons.mozilla.org/ru/firefox/a … xt-to-file , но без всяких лишностей, а оставить только возможность сохранять чистый выделенный текст (без даты и url) в один выбранный файл.
Ставить отдельно само расширение не оптимально, потому что оно употребляет 450-500 кб памяти.
Отсутствует
Помогите пожалуйста добавить кнопку в контекстное меню,
Посмотрите.https://forum.mozilla-russia.org/viewto … 30#p730930 и https://forum.mozilla-russia.org/viewto … 41#p730741
Отредактировано Duche (23-02-2017 19:42:17)
Отсутствует
Помогите пожалуйста добавить кнопку в контекстное меню, наподобие расширения Save Text to File
https://addons.mozilla.org/ru/firefox/a … xt-to-file , но без всяких лишностей, а оставить только возможность сохранять чистый выделенный текст (без даты и url) в один выбранный файл.
// Сохранить выделенный текст в файл из контекстного меню, от 23.02.2017. ............. ((contextMenu, el)=> { var menuitem = contextMenu.insertBefore(document.createElement("menuitem"), el); menuitem.id = "content-saveTextItem"; menuitem.setAttribute("label", "Сохранить выделенный текст в файл"); addDestructor(()=> menuitem.remove()); addEventListener('popupshowing', e=> menuitem.hidden = !gContextMenu.isTextSelected, false, contextMenu); menuitem.onclick =()=> { var label = gBrowser.mCurrentTab.label; var title = label.replace(/[:+.\\\/<>?*|"]+/g, " ").replace(/\s\s+/g, ""); var select = gBrowser.contentDocument.defaultView.getSelection().toString(); saveURL("data:text/plain," + encodeURIComponent(select), title + ".txt", null, false, false, null, content.document); }; })(document.getElementById("contentAreaContextMenu"), document.getElementById("context-sep-open"));
Но с включенным e10 работать не будет.
Отсутствует
Duche, спасибо, посмотрел, кнопка просто огромная и сложная, как отдельное расширение, просьба кто разбирается, максимально упростить ее, оставив только функцию в контекстном меню "Сохранить выделенный текст в файл" без всплывающих окон и подсказок, а просто "примитивное" сохранение выделенного текста в один файл, очень желательно, чтобы новый выделенный текст был с нового абзаца или с новой строки и с выбором , где хранить сам текстовый файл-тогда кнопка будет идеальной.
Добавлено 23-02-2017 20:45:53
bunda1, благодарю, но не то, добавил кнопку, в контекстном меню появилось почему-то сразу 2 пункта "Сохранить выделенный текст в файл" и каждый раз, новый выделенный текст сохраняется в новый файл, а нужно , чтобы все выделенные тексты сохранялись в один файл.
Отредактировано alexnorman777 (23-02-2017 20:45:53)
Отсутствует
а нужно , чтобы все выделенные тексты сохранялись в один файл.
// Сохранить выделенный текст в файл из контекстного меню, от 23.02.2017. ............. ((contextMenu, el)=> { var menuitem = contextMenu.insertBefore(document.createElement("menuitem"), el); menuitem.id = "content-saveTextItem"; menuitem.setAttribute("label", "Сохранить выделенный текст в файл"); addDestructor(()=> menuitem.remove()); addEventListener('popupshowing', e=> menuitem.hidden = !gContextMenu.isTextSelected, false, contextMenu); menuitem.onclick =e=> e.button ? setPathToFile() : saveSelectionToFile(); function saveSelectionToFile() { try { var pathToFile = gPrefService.getComplexValue("CB.saveSelectionToFile", Ci.nsISupportsString).data } catch(e) { setPathToFile() }; var title = convertFromUnicode("UTF-8", getTabLabel()); var selection = gBrowser.contentDocument.defaultView.getSelection().toString(); var text = convertFromUnicode("UTF-8", selection) + "\n\n\n\n\n"; var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath(pathToFile); var foStream = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream); file.exists() ? foStream.init(file, 0x02 | 0x10, 0664, 0) : foStream.init(file, 0x02|0x08|0x20, 0666, 0); foStream.write(text, text.length); foStream.close(); document.activeElement.blur(); setTimeout(()=> window.content.focus(), 300); }; function setPathToFile() { var fp = window.makeFilePicker(); fp.init(window, "Создайте текстовой файл для сохранения текста!", fp.modeSave); fp.appendFilters(fp.filterText); fp.defaultString = getTabLabel(); fp.open(result => result == fp.returnOK && cbu.setPrefs("CB.saveSelectionToFile", convertFromUnicode("UTF-8", fp.file.path) + ".txt")); }; function convertFromUnicode(charset, str) { var converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter); converter.charset = charset; str = converter.ConvertFromUnicode(str); return str + converter.Finish(); }; function getTabLabel() { var label = gBrowser.mCurrentTab.label; var label = label.replace(/[:+.\\\/<>?*|"]+/g, " ").replace(/\s\s+/g, " "); return label.substring(0, 50); }; })(document.getElementById("contentAreaContextMenu"), document.getElementById("context-sep-open"));
ПКМ на пункте меню Сохранить выделенный текст в файл даёт возможность создать новые текстовые файлы для сохранения текста.
Отсутствует
bunda1, большое вам спасибо, если Вас не затруднит, сделайте пожалуйста так, чтобы новый выделенный текст сохранялся с новой строки или с нового абзаца, а то получается сплошная текстовая каша.
Заметил, что у меня строка в контекстном меню "Сохранить выделенный текст в файл" появляется только после нажатия на саму кнопку Сustom Buttons, так и должно быть?
Отсутствует
сделайте пожалуйста так, чтобы новый выделенный текст сохранялся с новой строки или с нового абзаца, а то получается сплошная текстовая каша.
Это глюк стандартного win блокнота, лучше используй для открытия текстовых файлов какой нибудь другой текстовой редактор, например: AkelPad - скачать бесплатно AkelPad 4.9.8
Заметил, что у меня строка в контекстном меню "Сохранить выделенный текст в файл" появляется только после нажатия на саму кнопку Сustom Buttons, так и должно быть?
Положи мой код в вкладку Инициализация, а из вкладки Код удали.
Отсутствует
Кто-нибудь может подписать исправленную версию CB, чтобы она на 51 без костылей ставилась?
Вот тут о подписи речь:
https://developer.mozilla.org/en-US/Add … ed_add-ons
Отсутствует
Кто-нибудь может подписать исправленную версию CB
Может подписи отключить. https://forum.mozilla-russia.org/viewto … 43#p720043
Отсутствует
oleg.sgh
Может надо ID дополнения поменять, чтобы оно не совпадало с родным дополнением? Мне telega так делал. Исходные коды же выкладывали.
Может подписи отключить
Как раз этого и хочу избежать.
Отсутствует
Робяты, есть вопросс-просьба следующая:
Как(можно) оторвать адресную строку, а точнее продублировать её во всплывающем окошке, типа div-a или другим способом. И можно ли ?
Чтоб по горячей клавише вызывалось маааахонькое окошко в центре бравзера(лучше на 1\3 от верха) со строкой ввода, по аналогии с Опера(presto) и Vivaldi (и там, и там это клавиша F2).
Т.е. действия точно теже что и у адр. строки: дополнение введенного... короче тоже самое. Очень бы хотелось. Дайте хоть что-нибудь, если есть.
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
На форуме