Кхе, еще вопрос: как теперь отслеживать смену поисковика? В about:config теперь ничего не пишет. Я так понимаю, по той же причине, что и browser.newtab.url выпилили?
Поскольку с обсерверами совсем не дружу, родил монстра:
var observer = { observe: function(aEngine,aTopic) { if (aTopic == "browser-search-engine-modified") { self.image = Services.search.currentEngine.iconURI.spec; } } }; var os = Components.classes["@mozilla.org/observer-service;1"] .getService(Components.interfaces.nsIObserverService); os.addObserver(observer, "browser-search-engine-modified", false); addDestructor(function() { os.removeObserver(observer, "browser-search-engine-modified") });
, который вроде работает, но может как-то проще/правильнее можно?
Отсутствует
bunda1
Еще вопрос, как поправить под ночнушку, например вашу Уменьшить яркость на всех страницах? Тут мне пример не помог...
И еще вопрос, наверное к Dumby по поводу PasteButtonsForStylish, тоже ругается на
Отредактировано turbot (05-03-2016 07:30:08)
Отсутствует
vv07 пишет: Друзья! Снова к вам. Есть замечательная кнопка Search and open + https://forum.mozilla-russia.org/viewto … 53#p451153, но на мой взгляд, малость недоработанная.Можно ли поправить, что бы не только открывала вкладку, но и переходила на нее тоже. Удобнее ведь намного.Выделить кодКод///
Не работает дружище! Выделяю слово. Кликаю ЛКМ и ничего не происходит. Средний клик предлагает открыть все ссылки со страницы. ПКМ открывает выделенную ссылку. ЛКМ вообще не работает. И еще. Пропал выбор поисковиков, что был на прежней кнопке
Отредактировано vv07 (05-03-2016 04:23:14)
Отсутствует
с переходом на эту вкладку
Просто замените
на
Отсутствует
turbot
Сработало! Благодарю. Но есть одна странность. Если закрываешь открытую вкладку с поиском, то (даже не знаю как тлоком обьяснить) вкладка вроде закрылась, но ты по прежнему остаешься на странице, хотя в заголовке вкладки обозначен тот сайт, с которого совершен переход. УФФФФ
Надеюсь поймете суть проблемы.
PS Вот так это выглядит при поиске
а так после закрытия вкладки
Отредактировано vv07 (05-03-2016 06:13:28)
Отсутствует
vv07
Подтверждаю. Я думал это у меня ночнушка глючит, но раз и у вас... У меня на 38-ой, когда она еще в ночнушках была (да и вплоть до 44-ой) таких проблем с этой кнопкой не было. Не имею предположений.
Отсутствует
vv07Подтверждаю. Я думал это у меня ночнушка глючит, но раз и у вас... У меня на 38-ой, когда она еще в ночнушках была (да и вплоть до 44-ой) таких проблем с этой кнопкой не было. Не имею предположений.
Вся надежда на маэстро bunda1
Отсутствует
Поставил себе цель держать браузер в максимальной чистоте, для этого в настройках указал при каждом закрытии удалять всю накопленную им информацию во время сессии:
Ув.разработичики, помогите пожалуйста если возможно этот процесс автоматизировать.
Возможно ли изменить кнопку "Добавить все вкладки в закладки..." (так как она моментально добавляет все вкладки без какой либо загрузки процессора) следующим образом:
1. Убрать высплывающее окно выбора папки.
2. Добавлять все вкладки в одну и ту же указанную папку на панель закладок.
3. Было бы идеально если еще при добавлении удалять предыдущие закладки. (или может в папке создавать под папки)
Отсутствует
И через about:addons во вкладке "Custom Buttons" нет ?
Coroner
есть оказывается прямо в меню. Как я ее не увидел не пойму.
Про оффтопик. Сорри и спасибо за напоминание оффтопа. Сейчас буду разбираться
Добавлено 05-03-2016 14:09:56
noknok пишет: А как удалить теперь ? В настройках Custom Buttons нет ничего. В самом лисе не знаю как выдрать из настроек меню. В какой папке сохраняются кнопки Custom Buttons ?Если не ошибаюсь, то можно в профиле из ...\custombuttons\backup\ взять нужный тебе buttonsoverlay.xul.bak и заменить им buttonsoverlay.xul в ...\custombuttons\, предварительно переименовав естественно.
voqabuhe
Спасибо. Все сразу в папку mozilla firefox сохраняю что бы потом не возиться если снова будут проблемы . Поражаюсь. Вот что я сидел уже на скисшей Opera Presto и переживал что нет ей замены. Любуюсь разбираясь в Firefox.
Добавлено 05-03-2016 14:12:21
noknok пишет: Установил кнопку Bookmarks | Manager | Add https://forum.mozilla-russia.org/viewto … 92#p521492 . А как удалить теперь ?Нажмите Shift и удерживая ее нажмите на кнопке правую кнопку мыши. Увидите меню, в том числе - удалить. Или: дополнения - Custom Buttons - нажать удалить напротив нужной кнопки. В чем проблема?
Не знал. Теперь знаю. Спасибо. Про Shift и ПКМ интересно
Отредактировано noknok (05-03-2016 14:12:21)
Отсутствует
Поскольку с обсерверами совсем не дружу, родил монстра:
работает, но может как-то проще/правильнее можно?
Services.obs.addObserver(observer, "browser-search-engine-modified", false); addDestructor(()=> Services.obs.removeObserver(observer, "browser-search-engine-modified") );
без:
var os = Components.classes["@mozilla.org/observer-service;1"] .getService(Components.interfaces.nsIObserverService);
Отсутствует
bunda1
Еще вопрос, как поправить под ночнушку, например вашу Уменьшить яркость на всех страницах?
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%3E%u0423%u043C%u0435%u043D%u044C%u0448%u0438%u0442%u044C%20%u044F%u0440%u043A%u043E%u0441%u0442%u044C%20%u043D%u0430%20%u0432%u0441%u0435%u0445%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0430%u0445%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAD/Eykp/xgyMv8YMTH/GDEx/xgxMf8YMTH/GDEx/xgxMf8YMTH/GDEx/xgxMf8YMTH/GDIy/xMpKf8AAAD/AAAA/1Cop/9Nrqv/SKKf/0mkof9JpKH/SaSh/0mkof9JpKH/SaSh/0mkof9JpKH/SKKf/02uq/9QqKf/AAAA/wAAAP9OoqH/PpSQ/zWFgf83iIT/N4iE/zeIhP83iIT/N4iE/zeIhP83iIT/N4iE/zWFgf8+lJD/TqKh/wAAAP8AAAD/U6in/0WgnP88ko3/PpWQ/z6VkP8+lZD/PpWQ/z6VkP8+lZD/PpWQ/z6VkP88ko3/RaCc/1Oop/8AAAD/AAAA/1asrP9HpKD/PpaR/0CZlP9AmZT/QJmU/0CZlP9AmZT/QJmU/0CZlP9AmZT/PpaR/0ekoP9WrKz/AAAA/wAAAP9ZsLH/SKmj/0Calf9CnZj/Qp2Y/0KdmP9CnZj/Qp2Y/0KdmP9CnZj/Qp2Y/0Calf9IqaP/WbCx/wAAAP8AAAD/XLW1/0uuqP9Cn5n/RKKc/0SinP9Eopz/RKKc/0SinP9Eopz/RKKc/0SinP9Cn5n/S66o/1y1tf8AAAD/AwMD/2C4uv9OtK//RKWf/0aoov9GqKL/Rqii/0aoov9GqKL/Rqii/0aoov9GqKL/RKWf/060r/9guLr/AwMD/1NSUv9qw8T/V8XE/1O+u/9Uv73/VL+9/1S/vf9Uv73/VL+9/1S/vf9Uv73/VL+9/1O+u/9XxcT/asPE/1NSUv9XVlb/bcfI/1vLyv9XxML/WMXE/1jFxP9YxcT/WMXE/1jFxP9YxcT/WMXE/1jFxP9XxML/W8vK/23HyP9XVlb/VlVU/3DMzf9f0ND/WsnH/1vKyf9bysn/W8rJ/1vKyf9bysn/W8rJ/1vKyf9bysn/WsnH/1/Q0P9wzM3/VlVU/1ZUVP9zz9H/YtfV/13Qzf9e0c7/XtHO/17Rzv9e0c7/XtHO/17Rzv9e0c7/XtHO/13Qzf9i19X/c8/R/1ZUVP9WVFT/d9PW/2Xc2/9f1dP/YdbU/2HW1P9h1tT/YdbU/2HW1P9h1tT/YdbU/2HW1P9f1dP/Zdzb/3fT1v9WVFT/VlRU/3nV2P9j39z/XdjU/1/Z1f9f2dX/X9nV/1/Z1f9f2dX/X9nV/1/Z1f9f2dX/XdjU/2Pf3P951dj/VlRU/1ZUVP9/4+f/ePX2/3Xu7/927/D/du/w/3bv8P927/D/du/w/3bv8P927/D/du/w/3Xu7/949fb/f+Pn/1ZUVP9XVlb/YXt8/2aBg/9mgIL/ZoCC/2aAgv9mgIL/ZoCC/2aAgv9mgIL/ZoCC/2aAgv9mgIL/ZoGD/2F7fP9XVlb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%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%u041B%u041A%u041C%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0438%20%u0441%u0442%u0438%u043B%u044C%20..........%0Athis._handleClick%20%3D%28%29%3D%3E%20setStyleForPages%28%20cbu.setPrefs%28s%2C%20%21cbu.getPrefs%28s%29%29%20%29%3B%0A%0A%0A//%20%u041A%u043E%u043B%u0451%u0441%u0438%u043A%u043E%u043C%20%u043C%u044B%u0448%u0438%20%u043D%u0430%20%u043A%u043D%u043E%u043F%u043A%u0435%20%u043C%u0435%u043D%u044F%u0442%u044C%20%u044F%u0440%u043A%u043E%u0441%u0442%u044C%20%u0432%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%u0445%20%u0438%20%u0441%u0442%u0438%u043B%u0435%20..........%0Athis.onwheel%20%3De%3D%3E%7B%0A%20%20%20var%20i%20%3D%20cbu.getPrefs%28l%29%2C%0A%20%20%20%20%20%20%20i%20%3D%20e.deltaY%20%3C%200%20%3F%20i%20+%20step%20%3A%20i%20-%20step%3B%0A%20%20%20if%20%28%200%20%3C%3D%20i%20%26%26%20i%20%3C%3D%2099%20%29%20cbu.setPrefs%28l%2C%20i%29%3B%0A%0A%20%20%20setStyleForPages%28%20cbu.setPrefs%28s%2C%20true%29%20%29%3B%0A%7D%3B%0A%0A%0A//%20%u0418%u0441%u043F%u0440%u0430%u0432%u044B%u0442%u044C%20%u043F%u0440%u043E%u0431%u043B%u0435%u043C%u0443%20%u0441%20position%20%u0434%u043B%u044F%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0439%20..........%0AaddEventListener%28%22mouseover%22%2C%20e%3D%3E%7B%0A%20%20%20if%20%28%20e.button%20%7C%7C%20e.target.localName%20%21%3D%3D%20%27img%27%20%29%20return%3B%20%20%0A%20%20%20%0A%20%20%20var%20img%20%3D%20e.target%2C%20node%20%3D%20img%3B%0A%20%20%20if%20%28%20getPosition%28img%29%20%3D%3D%20%27absolute%27%29%20%7B%20img.setAttribute%28%27currentPosition%27%2C%20%27true%27%29%3B%20return%3B%20%7D%3B%20%20%0A%0A%20%20%20while%28%20node%20%3D%20node.parentNode%20%29%20%7B%0A%20%20%20%20%20%20if%20%28%20getPosition%28node%29%20%3D%3D%20%27relative%27%20%29%20break%3B%0A%20%20%20%20%20%20if%20%28%20getPosition%28node%29%20%3D%3D%20%27absolute%27%29%20%7B%20img.setAttribute%28%27parentPosition%27%2C%20%27true%27%29%3B%20break%3B%20%7D%3B%20%20%20%0A%20%20%20%7D%3B%0A%20%20%20%20%20%20%0A%20%20%20function%20getPosition%28node%29%20%7B%20return%20getComputedStyle%28node%2C%20%27%27%29.position%20%7D%3B%0A%7D%2C%20false%2C%20gBrowser%29%3B%0A%0A%0A//%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0438%20css%20%u043A%u043E%u0434%20%u0438%u0437%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%20%u0421%u043F%u0440%u0430%u0432%u043A%u0430%20..........%0Avar%20step%20%3D%202%2C%0A%20%20%20%20s%20%3D%20%22CB.darken%22%2C%0A%20%20%20%20help%20%3D%20self.Help%2C%0A%20%20%20%20l%20%3D%20%22CB.darken.level%22%3B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0432%20about%3Aconfig%20%u0435%u0441%u043B%u0438%20%u043E%u043D%u0438%20%u043D%u0435%20%u0441%u0443%u0449%u0435%u0441%u0442%u0432%u0443%u0435%u0442%20..........%0Acbu.isPref%28l%2C%2028%29%3B%0Acbu.isPref%28s%2C%20false%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%u043A%u043D%u043E%u043F%u043A%u0438%20..........%0Afunction%20toggleImage%28%29%20%7B%0A%20%20%20self.ownerDocument.getAnonymousElementByAttribute%28self%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29.%0A%20%20%20src%20%3D%20%21cbu.getPrefs%28s%29%20%3F%20self.image%20%3A%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAD/NTU1/z8/P/89PT3/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv89PT3/Pz8//zU1Nf8AAAD/AAAA/6Ghof+YmJj/ioqK/42Njf+NjY3/jY2N/42Njf+NjY3/jY2N/42Njf+NjY3/ioqK/5iYmP+hoaH/AAAA/wAAAP+dnZ3/hISE/3R0dP94eHj/eHh4/3h4eP94eHj/eHh4/3h4eP94eHj/eHh4/3R0dP+EhIT/nZ2d/wAAAP8AAAD/qKio/5OTk/+CgoL/hoaG/4aGhv+Ghob/hoaG/4aGhv+Ghob/hoaG/4aGhv+CgoL/k5OT/6ioqP8AAAD/AAAA/6+vr/+ampr/iYmJ/42Njf+NjY3/jY2N/42Njf+NjY3/jY2N/42Njf+NjY3/iYmJ/5qamv+vr6//AAAA/wAAAP+1tbX/oqKi/5GRkf+VlZX/lZWV/5WVlf+VlZX/lZWV/5WVlf+VlZX/lZWV/5GRkf+ioqL/tbW1/wAAAP8CAgL/vb29/6mpqf+Xl5f/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+Xl5f/qamp/729vf8CAgL/AAAA/8PDw/+xsbH/n5+f/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n5+f/7Gxsf/Dw8P/AAAA/zo6Ov/Pz8//xMTE/7a2tv+5ubn/ubm5/7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5/7a2tv/ExMT/z8/P/zo6Ov9aWlr/2dnZ/9PT0//Jycn/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Jycn/09PT/9nZ2f9aWlr/U1NT/9/f3//a2tr/z8/P/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/z8/P/9ra2v/f39//U1NT/1RUVP/m5ub/4+Pj/9jY2P/a2tr/2tra/9ra2v/a2tr/2tra/9ra2v/a2tr/2tra/9jY2P/j4+P/5ubm/1RUVP9UVFT/7u7u/+3t7f/i4uL/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/i4uL/7e3t/+7u7v9UVFT/VFRU/+/v7//y8vL/5+fn/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/5+fn//Ly8v/v7+//VFRU/1RUVP/8/Pz//////////////////////////////////////////////////////////////////Pz8/1RUVP9WVlb/kJCQ/5WVlf+VlZX/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+VlZX/lZWV/5CQkP9WVlb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%3D%22%3B%20%0A%7D%3B%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%29%3B%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20css%20%u0441%u0442%u0438%u043B%u044C%20%u0434%u043B%u044F%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20..........%0Afunction%20setStyleForPages%28%29%20%7B%0A%20%20%20var%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0A%20%20%20var%20css%20%3D%20help.replace%28/value/g%2C%20cbu.getPrefs%28l%29/100%20%29%3B%20%20%20%20%20%20%0A%20%20%20var%20uri%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28css%29%29%3B%20%0A%20%20%20%0A%20%20%20try%20%7B%20sss.unregisterSheet%28Services.previousUri%20%7C%7C%20uri%2C%200%29%20%7D%20catch%28e%29%20%7B%7D%3B%0A%20%20%20Services.previousUri%20%3D%20uri%3B%0A%20%20%20%0A%20%20%20cbu.getPrefs%28s%29%20%26%26%20sss.loadAndRegisterSheet%28uri%2C%200%29%3B%0A%7D%3B%0Acbu.getPrefs%28s%29%20%26%26%20setStyleForPages%28%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..........%20%0Athis.tooltipText%20%3D%20%22%u041B%3A%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u044F%u0440%u043A%u043E%u0441%u0442%u044C%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%20%5Cn%u041A%u043E%u043B%u0451%u0441%u0438%u043A%u043E%u043C%20%u043C%u044B%u0448%u0438%20%u043D%u0430%20%u043A%u043D%u043E%u043F%u043A%u0435%20%u043C%u043E%u0436%u043D%u043E%20%u043C%u0435%u043D%u044F%u0442%u044C%20%u044F%u0440%u043A%u043E%u0441%u0442%u044C%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B%0A%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@-moz-document%20url-prefix%28http%3A//%29%2C%20url-prefix%28https%3A//%29%2C%20url-prefix%28ftp%3A//%29%2C%20url-prefix%28file%3A//%29%2C%0Aurl-prefix%28chrome%3A//%29%2C%20url-prefix%28about%29%20%7B%0A%20%20%20browser%7B%20background%3A%20LightGray%20%21important%3B%20%7D%20%20%20%0A%20%20%20%0A%20%20%20/*%20%u0441%u043E%u0437%u0434%u0430%u0442%u044C%20%u043D%u0430%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%u0439%20%u0438%20%u0434%u0440%u0443%u0433%u0438%u043C%u0438%20%u044D%u043B%u0435%u043C%u0435%u043D%u0442%u0430%u043C%u0438%20%u043F%u0441%u0435%u0432%u0434%u043E%u044D%u043B%u0435%u043C%u0435%u043D%u0442%20%u0441%20%u0443%u0441%u0442%u0430%u043D%u043E%u0432%u043B%u0435%u043D%u043D%u043E%u0439%20%u043F%u0440%u043E%u0437%u0440%u0430%u0447%u043D%u043E%u0441%u0442%u044C%u044E%20*/%0A%20%20%20html%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20/*%20%u0432%u0435%u0431%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0438%20%u043D%u0435%u043A%u043E%u0442%u043E%u0440%u044B%u0435%20about%3A%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%2C%20%u0438%u043D%u0441%u043F%u0435%u043A%u0442%u043E%u0440%20DOM%20%u0438%20%u0441%u0442%u0438%u043B%u0435%u0439%20*/%0A%20%20%20%23appbar-content%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20/*%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0441%u0432%u0435%u0440%u0445%u0443%20%u043D%u0430%20youtube%20*/%0A%20%20%20%23txbTextNodeValue%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20/*%20%u0440%u0430%u0448%u0438%u0440%u0435%u043D%u0438%u0435%20DOM%20%u0438%u043D%u0441%u043F%u0435%u043A%u0442%u043E%u0440%20*/%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%5Bclass%3D%22theme-light%22%5D%20%23editor%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20/*%20%u0438%u043D%u0441%u043F%u0435%u043A%u0442%u043E%u0440%20DOM%20%u0438%20%u0441%u0442%u0438%u043B%u0435%u0439%20*/%20%0A%20%20%20%5Bclass%3D%22theme-light%22%5D%20%23profiles-list%3Aafter%2C%20%0A%20%20%20%5Bclass%3D%22theme-light%22%5D%20%23options-panel%3Aafter%2C%0A%20%20%20window%3Anot%28%5Bclass%3D%22theme-dark%22%5D%29%20%23editor%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%5Bclass%3D%22theme-light%22%5D%20%23style-editor-chrome%3Aafter%2C%0A%20%20%20%5Bclass%3D%22theme-light%22%5D%20%23network-inspector-view%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20.cbeditor-textbox%3Aafter%2C%20%23newtab-window%3Aafter%2C%20%20%20%20%20%20%20%20%20%20/*%20%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%20%u0421%u0412%20%u043A%u043D%u043E%u043F%u043A%u0438%2C%20%u043D%u043E%u0432%u0430%u044F%20%u0432%u043A%u043B%u0430%u0434%u043A%u0430%20*/%0A%20%20%20treecols%3Anot%28%5Bid%3D%22placeContentColumns%22%5D%29%3Aafter%2C%20%20%20%20%20%20%20%20%20/*%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0438%2C%20%u0438%u0441%u0442%u043E%u0440%u0438%u044F%2C%20%u0431%u0438%u0431%u043B%u0438%u043E%u0442%u0435%u043A%u0430%2C%20about%3Aconfig%20*/%0A%20%20%20%23devtools-webconsole%3Aafter%2C%20%23ConsoleBox%3Aafter%2C%20%20%20%20%20%20%20%20%20%20/*%20%u043A%u043E%u043D%u0441%u043E%u043B%u044C%20%u043E%u0448%u0438%u0431%u043E%u043A%2C%20%u0432%u0435%u0431%20%u043A%u043E%u043D%u0441%u043E%u043B%u044C%20%u043E%u0448%u0438%u0431%u043E%u043A%20*/%0A%20%20%20%5Btitle%3D%22%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%22%5D%5BhasBrowserHandlers%3D%22true%22%5D%3Aafter%2C%20%20%20/*%20%u0440%u0430%u0437%u043D%u044B%u0435%20about%3A%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20*/%0A%20%20%20%5Bid%3D%22permissions-page%22%5D%3Aafter%2C%20%5Bid%20%3D%22tabsList%22%5D%3Aafter%2C%0A%20%20%20%5Bid%3D%22contentAreaDownloadsView%22%5D%3Aafter%2C%20%5Bid%3D%22addons-page%22%5D%3Aafter%20%20%20%0A%20%20%20%7B%0A%20%20%20%20%20content%3A%20%22%22%20%21important%3B%0A%20%20%20%20%20position%3A%20fixed%20%21important%3B%0A%20%20%20%20%20top%3A%200%3B%20bottom%3A%200%3B%20left%3A%200%3B%20right%3A%200%3B%0A%20%20%20%20%20background%3A%20%23000%20%21important%3B%0A%20%20%20%20%20z-index%3A%2099999999%20%21important%3B%0A%20%20%20%20%20pointer-events%3A%20none%20%21important%3B%0A%20%20%20%20%20opacity%3A%20value%20%21important%3B%0A%20%20%20%7D%0A%20%20%20%0A%20%20%20/*%20%u043E%u0442%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u0443%u043C%u0435%u043D%u044C%u0448%u0435%u043D%u0438%u0435%20%u044F%u0440%u043A%u043E%u0441%u0442%u0438%20%u0434%u043B%u044F%20%u0431%u043B%u043E%u043A%u0438%u0440%u043E%u0432%u043A%u0438%20%u0434%u0432%u043E%u0439%u043D%u043E%u0433%u043E%20%u0437%u0430%u0442%u0435%u043C%u043D%u0435%u043D%u0438%u044F%20%20*/%0A%20%20%20%23comments-test-iframe%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20/*%20%u043A%u043E%u043C%u0435%u043D%u0442%u0430%u0440%u0438%u0438%20%u043D%u0430%20youtube%20*/%0A%20%20%20%0A%20%20%20/*%20%u043E%u0442%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u0443%u043C%u0435%u043D%u044C%u0448%u0435%u043D%u0438%u0435%20%u044F%u0440%u043A%u043E%u0441%u0442%u0438%20%u0434%u043B%u044F%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0439%20%u043F%u0440%u0438%20%u043D%u0430%u0432%u0435%u0434%u0435%u043D%u0438%u0438%20%u043A%u0443%u0440%u0441%u043E%u0440%u0430%20*/%0A%20%20%20svg%3Ahover%2C%0A%20%20%20DIV%5Bclass%3D%22img%22%5D%3Ahover%2C%0A%20%20%20DIV%5Bclass%3D%22rel%22%5D%3Ahover%2C%0A%20%20%20DIV%5Bclass%3D%22ytp-thumbnail%22%5D%3Ahover%2C%0A%20%20%20DIV%5Bid%3D%22watch7-sidebar-modules%22%5D%3Ahover%2C%0A%20%20%20DIV%5Bclass%3D%22right_block%20video_right%20video_today%22%5D%3Ahover%2C%0A%20%20%20DIV%5Bclass%3D%22photo%22%5D%3Ahover%2C%0A%20%20%20img%3Ahover%3Anot%28%5Bparentposition%5D%29%3Anot%28%5Bcurrentposition%5D%29%3Anot%28%5Bid%3D%22keyboard_picture%22%5D%29%3Anot%28%5Bid%3D%22mpiv-preview%22%5D%29%3Anot%28%5Bid%3D%22splashoverlay%22%5D%29%3Anot%28%5Bclass%3D%22prew%22%5D%29%3Anot%28%5Bclass%3D%22rel%22%5D%29%0A%20%20%20%7B%20%0A%20%20%20%20%20-moz-appearance%3A%20none%20%21important%3B%20position%3A%20relative%20%21important%3B%20z-index%3A%20999999999%20%21important%3B%0A%20%20%20%7D%0A%20%20%20img%5Bparentposition%5D%3Ahover%20%7B%20%0A%20%20%20%20%20-moz-appearance%3A%20none%20%21important%3B%20position%3A%20relative%20%21important%3B%20z-index%3A%20999999999%20%21important%3B%20left%3A%200px%3B%20bottom%3A%200px%3B%0A%20%20%20%7D%0A%20%20%20img%5Bcurrentposition%5D%3Ahover%20%7B%20%0A%20%20%20%20%20z-index%3A%20999999999%20%21important%3B%0A%20%20%20%7D%0A%0A%20%20%20/*%20%u043F%u043E%u043B%u043E%u0441%u0430%20%u043F%u043E%u0438%u0441%u043A%u0430%20%u043D%u0430%20youtube%20*/%0A%20%20%20%23yt-masthead-container%20%7B%20background%3A%20LightGray%20%21important%3B%20%7D%0A%0A%20%20%20/*%20%u0438%u0441%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u0432%u0438%u0434%u0435%u043E%20*/%0A%20%20%20embed%5Bflashvars%5D%2C%20%20%0A%20%20%20div%5Bclass%3D%22html5-video-container%22%5D%2C%0A%20%20%20*%5Btype*%3D%22application/x-silverlight%22%5D%2C%0A%20%20%20*%5Btype*%3D%22application/x-shockwave-flash%22%5D%20%7B%20%0A%20%20%20%20%20-moz-appearance%3A%20none%20%21important%3B%20z-index%3A%20999999999%20%21important%3B%0A%20%20%20%7D%0A%7D%0A%0A/*%20%u0438%u0441%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u043D%u0435%u043A%u043E%u0442%u043E%u0440%u044B%u0435%20%u044D%u043B%u0435%u043C%u0435%u043D%u0442%u044B%20%u043D%u0430%20%u043F%u0440%u043E%u0431%u043B%u0435%u043C%u043D%u044B%u0445%20%u0441%u0430%u0439%u0442%u0430%u0445%20%u0434%u043B%u044F%20%u0431%u043B%u043E%u043A%u0438%u0440%u043E%u0432%u043A%u0438%20%u0434%u0432%u043E%u0439%u043D%u043E%u0433%u043E%20%u0437%u0430%u0442%u0435%u043C%u043D%u0435%u043D%u0438%u044F%20*/%20%0A@-moz-document%20domain%28politobzor.net%29%20%7B%20%0A%20%20%20html%5Bxmlns%3D%22http%3A//www.w3.org/1999/xhtml%22%5D%3Aafter%20%7B%20content%3A%20none%20%21important%3B%20%7D%0A%20%20%20.item%20%7B%20background%3A%20LightGray%20%21important%3B%20%7D%0A%7D%0A@-moz-document%20url-prefix%28http%3A//translate.google.com/translate%29%20%7B%20%0A%20%20%20html%3Aafter%20%7B%20content%3A%20none%20%21important%3B%20%7D%0A%7D%0A@-moz-document%20url%28about%3Ahealthreport%29%2C%20url%28about%3Asessionrestore%29%2C%20url%28about%3Awelcomeback%29%20%7B%20%0A%20%20%20html%3Aafter%20%7B%20content%3A%20none%20%21important%3B%20%7D%0A%7D%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отсутствует
Ребята, не пинайте сильно. Нет пока времени разбираться в аддоне, поэтому задам нубский вопрос. Есть букмарклет, имеющий следущий код:
javascript:(function(){location.replace(location.href.search(/\?cm_interactive/)!=-1?location.href.replace(/\?cm_interactive.*/,''):location.href.replace(/#.*|$/,'?cm_interactive'));})();
Как на его основе создать кнопку?
Отсутствует
И еще вопрос, наверное к Dumby по поводу PasteButtonsForStylish, тоже ругается на
Можно попробовать правильно/неправильно/как-то воспользоваться помощью бога.
data:application/x-javascript;base64,77u/Z0Jyb3dzZXIuY3VycmVudFVSSS5zcGVjID09ICJhYm91dDpjdXN0b21pemluZyIgfHwgKCgpID0+IHsNCgl2YXIgb2JzSWQgPSAiQ0IiICsgX2lkLnNsaWNlKDIwKSArICJfUGFzdGVCdXR0b25zRm9yU3R5bGlzaCI7DQoJdmFyIHN0b3JhZ2VJZCA9IG9ic0lkICsgIlN0b3JhZ2UiOw0KDQovLwktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTdG9yYWdlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkNCgkvLyBTaW1wbGUgcmVwbGFjZW1lbnQgZm9yIEFwcGxpY2F0aW9uLnN0b3JhZ2UNCgkvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL0luZm9jYXRjaGVyL0N1c3RvbV9CdXR0b25zL2NvbW1pdC8xNGQ0YzMzYmVlMjA1MjhkYTE0NzkzZDNiNGEzNzczYThhMzRkMDQ4DQoJDQoJdmFyIHN0b3JhZ2UgPSAoZnVuY3Rpb24oKSB7DQoJCXZhciBnbG9iYWwgPSBDdS5pbXBvcnQoInJlc291cmNlOi8vZ3JlL21vZHVsZXMvU2VydmljZXMuanNtIiwge30pOw0KCQl2YXIgbnMgPSBzdG9yYWdlSWQ7DQoJCXZhciBzdG9yYWdlID0gZ2xvYmFsW25zXSB8fCAoZ2xvYmFsW25zXSA9IGdsb2JhbC5PYmplY3QuY3JlYXRlKG51bGwpKTsNCgkJcmV0dXJuIHsNCgkJCWdldDogZnVuY3Rpb24oa2V5LCBkZWZhdWx0VmFsKSB7DQoJCQkJaWYoa2V5IGluIHN0b3JhZ2UpDQoJCQkJCXJldHVybiBzdG9yYWdlW2tleV07DQoJCQkJcmV0dXJuIGRlZmF1bHRWYWw7DQoJCQl9LA0KCQkJc2V0OiBmdW5jdGlvbihrZXksIHZhbCkgew0KCQkJCWlmKGtleSA9PT0gbnVsbCkNCgkJCQkJZGVsZXRlIHN0b3JhZ2Vba2V5XTsNCgkJCQllbHNlDQoJCQkJCXN0b3JhZ2Vba2V5XSA9IHZhbDsNCgkJCX0NCgkJfTsNCgl9KSgpOw0KDQovLwktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KCXZhciBvYnMgPSBzdG9yYWdlLmdldChvYnNJZCwgbnVsbCk7DQoJaWYgKCFvYnMpIHsNCgkJb2JzID0gew0KCQkJaWQ6IG9ic0lkLA0KCQkJYm94SWQ6IG9ic0lkICsgIl9Cb3giLA0KCQkJYnJVUkw6IGxvY2F0aW9uLmhyZWYsDQoJCQl0b3BpYzogImRvY3VtZW50LXNob3duIiwNCgkJCWluaXQ6IGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMucHJvY2VlZEFsbCh0cnVlKTsNCgkJCQlTZXJ2aWNlcy5vYnMuYWRkT2JzZXJ2ZXIodGhpcywgdGhpcy50b3BpYywgZmFsc2UpOw0KCQkJfSwNCgkJCWRlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMucHJvY2VlZEFsbChmYWxzZSk7DQoJCQkJdHJ5IHtTZXJ2aWNlcy5vYnMucmVtb3ZlT2JzZXJ2ZXIodGhpcywgdGhpcy50b3BpYyk7fQ0KCQkJCWNhdGNoKGV4KSB7Q3UucmVwb3J0RXJyb3IoZXgpO30NCgkJCX0sDQoNCi8vCQkJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gT0JTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KCQkJb2JzZXJ2ZTogZnVuY3Rpb24oZG9jKSB7dGhpcy5wcm9jZWVkRG9jKGRvYywgdHJ1ZSl9LA0KCQkJaXNTdHlsaXNoRG9jKGRvYykgew0KCQkJCXJldHVybiBkb2MubG9jYXRpb24gJiYgZG9jLmxvY2F0aW9uLmhyZWYuc3RhcnRzV2l0aCgiYWJvdXQ6c3R5bGlzaC1lZGl0IikNCgkJCX0sDQoJCQlpc0Jyb3dzZXJEb2MoZG9jKSB7DQoJCQkJcmV0dXJuIGRvYy5sb2NhdGlvbiAmJiBkb2MubG9jYXRpb24uaHJlZiA9PSB0aGlzLmJyVVJMDQoJCQl9LA0KCQkJcHJvY2VlZEFsbChpbml0KSB7DQoJCQkJdmFyIGVuID0gU2VydmljZXMud20uZ2V0RW51bWVyYXRvcihudWxsKTsNCgkJCQl3aGlsZShlbi5oYXNNb3JlRWxlbWVudHMoKSkgew0KCQkJCQl2YXIgZG9jID0gZW4uZ2V0TmV4dCgpLmRvY3VtZW50Ow0KCQkJCQlpZiAodGhpcy5pc0Jyb3dzZXJEb2MoZG9jKSkgew0KCQkJCQkJZm9yKHZhciBiciBvZiBkb2MuZGVmYXVsdFZpZXcuZ0Jyb3dzZXIuYnJvd3NlcnMpIHsNCgkJCQkJCQl0aGlzLnByb2NlZWREb2MoYnIuY29udGVudERvY3VtZW50LCBpbml0KTsNCgkJCQkJCX0NCgkJCQkJCXZhciBzaWRlYmFyRG9jID0gZG9jLmdldEVsZW1lbnRCeUlkKCJzaWRlYmFyIikuY29udGVudERvY3VtZW50Ow0KCQkJCQkJdGhpcy5wcm9jZWVkRG9jKHNpZGViYXJEb2MsIGluaXQpOw0KCQkJCQkJdmFyIHdwYiA9IHNpZGViYXJEb2MuZ2V0RWxlbWVudEJ5SWQoIndlYi1wYW5lbHMtYnJvd3NlciIpOw0KCQkJCQkJd3BiICYmIHRoaXMucHJvY2VlZERvYyh3cGIuY29udGVudERvY3VtZW50LCBpbml0KTsNCgkJCQkJfSANCgkJCQkJZWxzZQ0KCQkJCQkJdGhpcy5wcm9jZWVkRG9jKGRvYywgaW5pdCk7DQoJCQkJfQ0KCQkJfSwNCgkJCXByb2NlZWREb2MoZG9jLCBhZGQpIHsNCgkJCQlpZiAoIXRoaXMuaXNTdHlsaXNoRG9jKGRvYykgfHwgZG9jLnJlYWR5U3RhdGUgIT0gImNvbXBsZXRlIikgcmV0dXJuOw0KCQkJCXZhciBib3ggPSBkb2MuZ2V0RWxlbWVudEJ5SWQodGhpcy5ib3hJZCk7DQoJCQkJaWYgKGFkZCAmJiAhYm94KSB7DQoJCQkJCXZhciBiZWZvcmUgPSBkb2MuZ2V0RWxlbWVudEJ5SWQoIndyYXAtbGluZXMiKTsNCgkJCQkJdGhpcy5hZGRCb3goYmVmb3JlKTsNCgkJCQl9IGVsc2UgaWYgKCFhZGQgJiYgYm94KSB7DQoJCQkJCWJveCAmJiBib3gucmVtb3ZlKCk7DQoJCQkJfQ0KCQkJfSwNCg0KLy8JCQktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQk9YIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCgkJCWdldCBib3goKSB7DQoJCQkJZGVsZXRlIHRoaXMuYm94Ow0KCQkJCXJldHVybiB0aGlzLmJveCA9IHRoaXMuY3JlYXRlQm94KCk7DQoJCQl9LA0KCQkJY3JlYXRlQm94KCkgew0KCQkJCXZhciBib3ggPSB0aGlzLmluc2VydEVsZW1lbnQoImhib3giLCBudWxsLCB7DQoJCQkJCWlkOiB0aGlzLmJveElkLA0KCQkJCQlvbmNsaWNrOiBgDQoJCQkJCQlpZiAoZXZlbnQuYnV0dG9uICE9IDIpIHJldHVybjsNCgkJCQkJCXZhciBwb3B1cCA9IHRoaXMubGlua2VkUG9wdXA7DQoJCQkJCQlpZiAocG9wdXAuc3RhdGUgIT0gImNsb3NlZCIpIHBvcHVwLmhpZGVQb3B1cCgpOw0KCQkJCQkJcG9wdXAubGlua2VkVGFyZ2V0ID0gZXZlbnQub3JpZ2luYWxUYXJnZXQ7DQoJCQkJCQlwb3B1cC5vcGVuUG9wdXBBdFNjcmVlbihldmVudC5zY3JlZW5YLCBldmVudC5zY3JlZW5ZKTsNCgkJCQkJYCwNCgkJCQkJb25jb21tYW5kOiBgDQoJCQkJCQlldmVudC5zdG9wUHJvcGFnYXRpb24oKTsNCgkJCQkJCXZhciB0cmcgPSBldmVudC5vcmlnaW5hbFRhcmdldDsNCgkJCQkJCWlmICh0cmcubm9kZU5hbWUgPT0gInRvb2xiYXJidXR0b24iKQ0KCQkJCQkJCXRyZy5maXJzdENoaWxkLm9wZW5Qb3B1cCh0cmcpOw0KCQkJCQkJLyoNCgkJCQkJCWVsc2UgaWYgKHRyZy5ub2RlTmFtZSA9PSAibWVudWl0ZW0iKQ0KCQkJCQkJCXRyZy5oYXNBdHRyaWJ1dGUoInZhbHVlIikNCgkJCQkJCQkmJiBpbnNlcnRDb2RlQXRDYXJldCh0cmcudmFsdWUpOw0KCQkJCQkJKi8NCgkJCQkJCWVsc2UgaWYgKHRyZy5ub2RlTmFtZSA9PSAibWVudWl0ZW0iICYmIHRyZy5oYXNBdHRyaWJ1dGUoInZhbHVlIikpIHsNCgkJCQkJCQlpbnNlcnRDb2RlQXRDYXJldCh0cmcudmFsdWUpOw0KCQkJCQkJCWNvZGVFbGVtZW50V3JhcHBlci5mb2N1cygpOw0KCQkJCQkJfQ0KCQkJCQlgDQoJCQkJfSk7DQoJCQkJcmV0dXJuIGJveDsNCgkJCX0sDQoJCQlnZXQgYm94Q29udGVudCgpIHsNCgkJCQlkZWxldGUgdGhpcy5ib3hDb250ZW50Ow0KCQkJCXJldHVybiB0aGlzLmJveENvbnRlbnQgPSBzZWxmLkhlbHAudHJpbSgpOw0KCQkJfSwNCgkJCWFkZEJveChiZWZvcmUpIHsNCgkJCQl2YXIgYm94ID0gYmVmb3JlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuYm94LmNsb25lTm9kZShmYWxzZSksIGJlZm9yZSk7DQoJCQkJYm94LmlubmVySFRNTCA9IHRoaXMuYm94Q29udGVudDsNCgkJCQlib3gubGlua2VkUG9wdXAgPSBib3guYXBwZW5kQ2hpbGQodGhpcy5wb3B1cC5jbG9uZU5vZGUodHJ1ZSkpOw0KCQkJCWJveC5saW5rZWRQb3B1cC5jcmVhdG9yID0gdGhpczsNCgkJCQlib3guc3R5bGUuY3NzVGV4dCA9ICJtYXgtaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7IG1heC13aWR0aDogMzIwcHggIWltcG9ydGFudDsiOw0KCQkJfSwNCg0KLy8JCQktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENPTlRFWFQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCgkJCXBvcHVwWFVMOiBgDQoJCQkJPG1lbnVwb3B1cCB4bWxucz0iaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9rZXltYXN0ZXIvZ2F0ZWtlZXBlci90aGVyZS5pcy5vbmx5Lnh1bCINCgkJCQkJaWQ9IiR7b2JzSWQgKyAiX0NvbnRleHQifSINCgkJCQkJb25jb21tYW5kPSJldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgY3JlYXRvci5jbWREaXNwYXRjaGVyKGV2ZW50KTsiDQoJCQkJCW9ucG9wdXBzaG93aW5nPSJjcmVhdG9yLmNvbnRleHRQb3B1cHNob3dpbmcodGhpcyk7Ij4NCgkJCQkJPG1lbnVpdGVtIGxhYmVsPSLQmNC30LzQtdC90LjRgtGMIiB2YWx1ZT0ib3BlbkVkaXRvciIvPg0KCQkJCQk8bWVudXNlcGFyYXRvci8+DQoJCQkJCTxtZW51aXRlbSBsYWJlbD0i0JLRi9GI0LUiIHZhbHVlPSJtb3ZlVXAiLz4NCgkJCQkJPG1lbnVpdGVtIGxhYmVsPSLQndC40LbQtSIgdmFsdWU9Im1vdmVEb3duIi8+DQoJCQkJCTxtZW51c2VwYXJhdG9yLz4NCgkJCQkJPG1lbnVpdGVtIGxhYmVsPSLQmtC+0L/QuNGA0L7QstCw0YLRjCIgdmFsdWU9ImNvcHlJdGVtIiBjbG9zZW1lbnU9Im5vbmUiLz4NCgkJCQkJPG1lbnVpdGVtIGxhYmVsPSLQktGB0YLQsNCy0LjRgtGMIiB2YWx1ZT0icGFzdGVJdGVtIi8+DQoJCQkJCTxtZW51aXRlbSBsYWJlbD0i0KPQtNCw0LvQuNGC0YwiIHZhbHVlPSJkZWxldGVJdGVtIi8+DQoJCQkJCTxtZW51c2VwYXJhdG9yLz4NCgkJCQkJPG1lbnVpdGVtIGxhYmVsPSLQndC+0LLRi9C5IG1lbnVpdGVtIiB2YWx1ZT0ibmV3TWVudWl0ZW0iLz4NCgkJCQkJPG1lbnVpdGVtIGxhYmVsPSLQndC+0LJvZSBtZW51IiB2YWx1ZT0ibmV3TWVudSIvPg0KCQkJCQk8bWVudWl0ZW0gbGFiZWw9ItCd0L7QstGL0LkgdG9vbGJhcmJ1dHRvbiIgdmFsdWU9Im5ld0J1dHRvbiIvPg0KCQkJCQk8bWVudWl0ZW0gbGFiZWw9ItCd0L7QstGL0LkgbWVudXNlcGFyYXRvciIgdmFsdWU9Im5ld1NlcGFyYXRvciIvPg0KCQkJCQk8bWVudXNlcGFyYXRvci8+DQoJCQkJCTxtZW51aXRlbSBsYWJlbD0i0JrQsNGA0YLQuNC90LrQsCBiYXNlNjQiIHZhbHVlPSJpbWdCYXNlNjQiLz4NCgkJCQk8L21lbnVwb3B1cD4NCgkJCWAsDQoJCQlnZXQgcG9wdXAoKSB7DQoJCQkJZGVsZXRlIHRoaXMucG9wdXA7DQoJCQkJcmV0dXJuIHRoaXMucG9wdXAgPSB0aGlzLmNyZWF0ZVBvcHVwKCk7DQoJCQl9LA0KCQkJY3JlYXRlUG9wdXAoKSB7DQoJCQkJdmFyIHh1bCA9IHRoaXMucG9wdXBYVUwudHJpbSgpLnJlcGxhY2UoLz5ccys8L2csICI+PCIpOw0KCQkJCXZhciBwb3B1cCA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoeHVsLCAiYXBwbGljYXRpb24veG1sIikuZG9jdW1lbnRFbGVtZW50Ow0KCQkJCXBvcHVwLmNyZWF0b3IgPSB0aGlzOw0KCQkJCXJldHVybiBwb3B1cDsNCgkJCX0sDQoJCQljbWREaXNwYXRjaGVyKGUpIHsNCgkJCQl2YXIgdHJnID0gZS5vcmlnaW5hbFRhcmdldCwgcG9wdXAgPSB0cmcucGFyZW50Tm9kZSwgY21kID0gdHJnLnZhbHVlOw0KCQkJCWlmICghY21kKSByZXR1cm47DQoJCQkJdmFyIHBvcHVwTm9kZSA9IHBvcHVwLmxpbmtlZFRhcmdldDsNCgkJCQljbWQuc3RhcnRzV2l0aCgibmV3IikNCgkJCQkJPyB0aGlzLm5ld0l0ZW0ocG9wdXBOb2RlLCBjbWQuc2xpY2UoMykpDQoJCQkJCTogdGhpc1tjbWRdKHBvcHVwTm9kZSwgcG9wdXApOw0KCQkJCSJjb3B5SXRlbSBvcGVuRWRpdG9yIGltZ0Jhc2U2NCIuaW5jbHVkZXMoY21kKSB8fCB0aGlzLnNhdmUocG9wdXBOb2RlKTsNCgkJCX0sDQoJCQlnZXQgZW1wdHlTZXBhcmF0b3IoKSB7DQoJCQkJZGVsZXRlIHRoaXMuZW1wdHlTZXBhcmF0b3I7DQoJCQkJcmV0dXJuIHRoaXMuZW1wdHlTZXBhcmF0b3IgPSB0aGlzLmluc2VydEVsZW1lbnQoIm1lbnVzZXBhcmF0b3IiKTsNCgkJCX0sDQoJCQlnZXQgZW1wdHlNZW51aXRlbSgpIHsNCgkJCQlkZWxldGUgdGhpcy5lbXB0eU1lbnVpdGVtOw0KCQkJCXJldHVybiB0aGlzLmVtcHR5TWVudWl0ZW0gPSB0aGlzLmluc2VydEVsZW1lbnQoIm1lbnVpdGVtIiwgbnVsbCwge2xhYmVsOiAibWVudWl0ZW0iLCB2YWx1ZTogIiJ9KTsNCgkJCX0sDQoJCQlnZXQgZW1wdHlNZW51cG9wdXAoKSB7DQoJCQkJZGVsZXRlIHRoaXMuZW1wdHlNZW51cG9wdXA7DQoJCQkJdmFyIHBvcHVwID0gdGhpcy5pbnNlcnRFbGVtZW50KCJtZW51cG9wdXAiKTsNCgkJCQlwb3B1cC5hcHBlbmRDaGlsZCh0aGlzLmVtcHR5TWVudWl0ZW0uY2xvbmVOb2RlKGZhbHNlKSk7DQoJCQkJcmV0dXJuIHRoaXMuZW1wdHlNZW51cG9wdXAgPSBwb3B1cDsNCgkJCX0sDQoJCQlnZXQgZW1wdHlNZW51KCkgew0KCQkJCWRlbGV0ZSB0aGlzLmVtcHR5TWVudTsNCgkJCQl2YXIgbWVudSA9IHRoaXMuaW5zZXJ0RWxlbWVudCgibWVudSIsIG51bGwsIHtsYWJlbDogIm1lbnUifSk7DQoJCQkJbWVudS5hcHBlbmRDaGlsZCh0aGlzLmVtcHR5TWVudXBvcHVwLmNsb25lTm9kZSh0cnVlKSk7DQoJCQkJcmV0dXJuIHRoaXMuZW1wdHlNZW51ID0gbWVudTsNCgkJCX0sDQoJCQlnZXQgZW1wdHlCdXR0b24oKSB7DQoJCQkJZGVsZXRlIHRoaXMuZW1wdHlCdXR0b247DQoJCQkJdmFyIGJ0biA9IHRoaXMuaW5zZXJ0RWxlbWVudCgidG9vbGJhcmJ1dHRvbiIsIG51bGwsIHsNCgkJCQkJaW1hZ2U6ICJkYXRhOmltYWdlL3gtaWNvbjtiYXNlNjQsQUFBQkFBRUFFQkFBQUFFQUlBQm9CQUFBRmdBQUFDZ0FBQUFRQUFBQUlBQUFBQUVBSUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEL0FBQUEvd0FBQVA4QUFBRC9BQUFBL3dBQUFQOEFBQUQvQUFBQS93QUFBUDhBQUFEL0FBQUEvd0FBQVA4QUFBRC9BQUFBL3dBQUFQOEFBQUQvQUFBQS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9BQUFBL3dBQUFQLy8vLy8vQUFBQS93QUFBUDhBQUFEL0FBQUEvd0FBQVA4QUFBRC9BQUFBL3dBQUFQOEFBQUQvQUFBQS93QUFBUDhBQUFELy8vLy8vd0FBQVA4QUFBRC8vLy8vL3dBQUFQLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vQUFBQS8vLy8vLzhBQUFEL0FBQUEvLy8vLy84QUFBRC8vLy8vL3dBQUFQOEFBQUQvQUFBQS93QUFBUDhBQUFEL0FBQUEvd0FBQVA4QUFBRC8vLy8vL3dBQUFQLy8vLy8vQUFBQS93QUFBUC8vLy8vL0FBQUEvLy8vLy84QUFBRC9BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEvLy8vLy84QUFBRC8vLy8vL3dBQUFQOEFBQUQvLy8vLy93QUFBUC8vLy8vL0FBQUEvd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUC8vLy8vL0FBQUEvLy8vLy84QUFBRC9BQUFBLy8vLy8vOEFBQUQvLy8vLy93QUFBUDhBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy8vLy93QUFBUC8vLy8vL0FBQUEvd0FBQVAvLy8vLy9BQUFBLy8vLy8vOEFBQUQvQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBLy8vLy8vOEFBQUQvLy8vLy93QUFBUDhBQUFELy8vLy8vd0FBQVAvLy8vLy9BQUFBL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVAvLy8vLy9BQUFBLy8vLy8vOEFBQUQvQUFBQS8vLy8vLzhBQUFELy8vLy8vd0FBQVA4QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFELy8vLy8vd0FBQVAvLy8vLy9BQUFBL3dBQUFQLy8vLy8vQUFBQS8vLy8vLzhBQUFEL0FBQUEvd0FBQVA4QUFBRC9BQUFBL3dBQUFQOEFBQUQvQUFBQS8vLy8vLzhBQUFELy8vLy8vd0FBQVA4QUFBRC8vLy8vL3dBQUFQLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vQUFBQS8vLy8vLzhBQUFEL0FBQUEvLy8vLy84QUFBRC9BQUFBL3dBQUFQOEFBQUQvQUFBQS93QUFBUDhBQUFEL0FBQUEvd0FBQVA4QUFBRC9BQUFBL3dBQUFQLy8vLy8vQUFBQS93QUFBUC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL3dBQUFQOEFBQUQvQUFBQS93QUFBUDhBQUFEL0FBQUEvd0FBQVA4QUFBRC9BQUFBL3dBQUFQOEFBQUQvQUFBQS93QUFBUDhBQUFEL0FBQUEvd0FBQVA4QUFBRC9BQUNzUVFBQXJFRUFBS3hCQUFDc1FRQUFyRUVINEt4QkIrQ3NRUWZnckVFSDRLeEJCK0NzUVFmZ3JFRUFBS3hCQUFDc1FRQUFyRUVBQUt4QkFBQ3NRUT09Ig0KCQkJCX0pOw0KCQkJCWJ0bi5hcHBlbmRDaGlsZCh0aGlzLmVtcHR5TWVudXBvcHVwLmNsb25lTm9kZSh0cnVlKSk7DQoJCQkJcmV0dXJuIHRoaXMuZW1wdHlCdXR0b24gPSBidG47DQoJCQl9LA0KCQkJbmV3SXRlbShub2RlLCBuYW1lKSB7DQoJCQkJdmFyIG5ld0l0ZW0gPSB0aGlzWyJlbXB0eSIgKyBuYW1lXS5jbG9uZU5vZGUodHJ1ZSk7DQoJCQkJbm9kZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShuZXdJdGVtLCBub2RlLm5leHRTaWJsaW5nKTsNCgkJCQlpZiAobmFtZSA9PSAiQnV0dG9uIikgbmV3SXRlbS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgicG9zaXRpb24iLCAiYWZ0ZXJfc3RhcnQiKTsNCgkJCX0sDQoJCQlkZWxldGVJdGVtKG5vZGUpIHsNCgkJCQl2YXIgd2luID0gdGhpcy50b3Aobm9kZSk7DQoJCQkJaWYgKCF3aW4uY29uZmlybSgi0KPQtNCw0LvQuNGC0YwgPyIpKSByZXR1cm47DQoJCQkJbm9kZS5yZW1vdmUoKTsNCgkJCX0sDQoJCQltb3ZlVXAobm9kZSkgew0KCQkJCW5vZGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobm9kZSwgbm9kZS5wcmV2aW91c1NpYmxpbmcpOw0KCQkJfSwNCgkJCW1vdmVEb3duKG5vZGUpIHsNCgkJCQlub2RlLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG5vZGUsIG5vZGUubmV4dFNpYmxpbmcubmV4dFNpYmxpbmcpOw0KCQkJfSwNCgkJCWNvcHlJdGVtKG5vZGUsIHBvcHVwKSB7DQoJCQkJdGhpcy50cmFuc2FjdGlvbk5vZGUgPSBub2RlLmNsb25lTm9kZSh0cnVlKTsNCgkJCQlwb3B1cC5xdWVyeVNlbGVjdG9yKCdtZW51aXRlbVt2YWx1ZT0icGFzdGVJdGVtIl0nKS5kaXNhYmxlZCA9IGZhbHNlOw0KCQkJfSwNCgkJCXBhc3RlSXRlbShub2RlKSB7DQoJCQkJbm9kZS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLnRyYW5zYWN0aW9uTm9kZSwgbm9kZSk7DQoJCQl9LA0KCQkJaW1nQmFzZTY0KG5vZGUpIHsNCgkJCQl2YXIgb2JzID0gdGhpczsNCgkJCQl2YXIgcGlja2VyID0gbWFrZUZpbGVQaWNrZXIoKTsNCgkJCQlwaWNrZXIuYXBwZW5kRmlsdGVycyhwaWNrZXIuZmlsdGVySW1hZ2VzKTsNCgkJCQlwaWNrZXIuaW5pdCh0aGlzLnRvcChub2RlKSwgItCY0LfQvtCx0YDQsNC20LXQvdC40LUiLCBwaWNrZXIubW9kZU9wZW4pOw0KCQkJCXBpY2tlci5vcGVuKHtkb25lOiBmdW5jdGlvbihyZXN1bHQpIHsNCgkJCQkJaWYgKHJlc3VsdCAhPSBwaWNrZXIucmV0dXJuT0spIHJldHVybjsNCgkJCQkJdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7DQoJCQkJCXJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbigpIHsNCgkJCQkJCWlmICghcmVhZGVyLnJlc3VsdCkgcmV0dXJuOw0KCQkJCQkJdmFyIG5hbWUgPSBub2RlLm5vZGVOYW1lOw0KCQkJCQkJIm1lbnVpdGVtIi5pbmNsdWRlcyhuYW1lKSAmJiBub2RlLmNsYXNzTGlzdC5hZGQobmFtZSArICItaWNvbmljIik7DQoJCQkJCQlub2RlLnNldEF0dHJpYnV0ZSgiaW1hZ2UiLCByZWFkZXIucmVzdWx0KTsNCgkJCQkJCW9icy5zYXZlKG5vZGUpOw0KCQkJCQl9DQoJCQkJCXJlYWRlci5yZWFkQXNEYXRhVVJMKG5ldyBGaWxlKHBpY2tlci5maWxlKSk7DQoJCQkJfX0pOw0KCQkJfSwNCgkJCWRpc2FibGVyczogew0KCQkJCW1vdmVVcChub2RlKSB7cmV0dXJuICFub2RlLnByZXZpb3VzU2libGluZ30sDQoJCQkJbW92ZURvd24obm9kZSkge3JldHVybiAhbm9kZS5uZXh0U2libGluZyB8fCBub2RlLm5leHRTaWJsaW5nLm5vZGVOYW1lID09ICJtZW51cG9wdXAifSwNCgkJCQlkZWxldGVJdGVtKG5vZGUpIHsNCgkJCQkJdmFyIGNvdW50ID0gbm9kZS5wYXJlbnROb2RlLmNoaWxkRWxlbWVudENvdW50Ow0KCQkJCQlyZXR1cm4gY291bnQgPT0gMSB8fCAobm9kZS5ub2RlTmFtZSA9PSAidG9vbGJhcmJ1dHRvbiIgJiYgY291bnQgPT0gMik7DQoJCQkJfSwNCgkJCQl0b3Aobm9kZSkge3JldHVybiAidG9vbGJhcmJ1dHRvbiBoYm94Ii5pbmNsdWRlcyhub2RlLm5vZGVOYW1lKTt9LA0KCQkJCW5ld01lbnVpdGVtKG5vZGUpIHtyZXR1cm4gdGhpcy50b3Aobm9kZSk7fSwNCgkJCQluZXdNZW51KG5vZGUpIHtyZXR1cm4gdGhpcy50b3Aobm9kZSk7fSwNCgkJCQluZXdTZXBhcmF0b3Iobm9kZSkge3JldHVybiB0aGlzLnRvcChub2RlKTt9LA0KCQkJCW5ld0J1dHRvbihub2RlKSB7cmV0dXJuICF0aGlzLnRvcChub2RlKTt9LA0KCQkJCWNvcHlJdGVtKG5vZGUpIHtyZXR1cm4gbm9kZS5ub2RlTmFtZSA9PSAiaGJveCI7fSwNCgkJCQlwYXN0ZUl0ZW0oKSB7cmV0dXJuICEoInRyYW5zYWN0aW9uTm9kZSIgaW4gdGhpcy5vYnMpO30sDQoJCQkJaW1nQmFzZTY0KG5vZGUpIHtyZXR1cm4gISJ0b29sYmFyYnV0dG9uIG1lbnUgbWVudWl0ZW0iLmluY2x1ZGVzKG5vZGUubm9kZU5hbWUpO30NCgkJCX0sDQoJCQljb250ZXh0UG9wdXBzaG93aW5nKHBvcHVwKSB7DQoJCQkJdGhpcy5kaXNhYmxlcnMub2JzID0gdGhpczsNCgkJCQl2YXIgbm9kZSA9IHBvcHVwLmxpbmtlZFRhcmdldDsNCgkJCQlmb3IodmFyIGtleSBpbiB0aGlzLmRpc2FibGVycykgew0KCQkJCQl2YXIgbWVudWl0ZW0gPSBwb3B1cC5xdWVyeVNlbGVjdG9yKGBtZW51aXRlbVt2YWx1ZT0iJHtrZXl9Il1gKTsNCgkJCQkJaWYgKG1lbnVpdGVtKSBtZW51aXRlbS5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZXJzW2tleV0obm9kZSkgfHwgbm9kZS5ub2RlTmFtZSA9PSAibWVudXBvcHVwIjsNCgkJCQl9DQoJCQkJcG9wdXAucXVlcnlTZWxlY3RvcignbWVudWl0ZW1bdmFsdWU9Im9wZW5FZGl0b3IiXScpLmRpc2FibGVkID0gbm9kZS5ub2RlTmFtZSA9PSAiaGJveCI7DQoJCQl9LA0KDQovLwkJCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVESVRPUiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCgkJCWVkaXRvclhVTDogYA0KCQkJCTw/eG1sIHZlcnNpb249IjEuMCI/Pg0KCQkJCTw/eG1sLXN0eWxlc2hlZXQgaHJlZj0iY2hyb21lOi8vZ2xvYmFsL3NraW4vIj8+DQoJCQkJPD94bWwtc3R5bGVzaGVldCBocmVmPSJjaHJvbWU6Ly9jdXN0b21idXR0b25zL2NvbnRlbnQvY29kZWVkaXRvci5jc3MiIHR5cGU9InRleHQvY3NzIj8+DQoJCQkJPGRpYWxvZyB4bWxucz0iaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9rZXltYXN0ZXIvZ2F0ZWtlZXBlci90aGVyZS5pcy5vbmx5Lnh1bCINCgkJCQkJdGl0bGU9ItCY0LfQvNC10L3QuNGC0YwiDQoJCQkJCW9ubG9hZD0ib2JzID0gQ29tcG9uZW50cy51dGlscy5pbXBvcnQoJ3Jlc291cmNlOi8vZ3JlL21vZHVsZXMvU2VydmljZXMuanNtJylbJyR7c3RvcmFnZUlkfSddWycke29ic0lkfSddOyBvYnMuaW5pdEVkaXRvcih3aW5kb3cpOyINCgkJCQkJb25kaWFsb2dhY2NlcHQ9Im9icy5zZXRBdHRyaWJ1dGVzKHdpbmRvdyk7Ig0KCQkJCQlidXR0b25zPSJleHRyYTIsYWNjZXB0LGNhbmNlbCINCgkJCQkJYnV0dG9ubGFiZWxleHRyYTI9ItCj0LTQsNC70LjRgtGMINCw0YLRgNC40LHRg9GCIg0KCQkJCQlvbmRpYWxvZ2V4dHJhMj0ib2JzLmRlbGV0ZUF0dHJpYnV0ZSh3aW5kb3cpOyI+DQoJCQkJCTxoYm94IGFsaWduPSJjZW50ZXIiPg0KCQkJCQkJPGxhYmVsIHZhbHVlPSLQndC+0LLRi9C5INCw0YLRgNC40LHRg9GCIi8+DQoJCQkJCQk8dGV4dGJveCBmbGV4PSIxIiBtdWx0aWxpbmU9ImZhbHNlIiBvbmtleWRvd249Im9icy5vblRleGJveEtleWRvd24oZXZlbnQpOyIvPg0KCQkJCQkJPGJ1dHRvbiBsYWJlbD0i0JTQvtCx0LDQstC40YLRjCIgb25jb21tYW5kPSJvYnMubmV3QXR0cmlidXRlKHdpbmRvdywgdGV4dGJveC52YWx1ZSk7Ii8+DQoJCQkJCTwvaGJveD4NCgkJCQkJPHRhYmJveCBmbGV4PSIxIj4NCgkJCQkJCTx0YWJzLz4NCgkJCQkJCTx0YWJwYW5lbHMgZmxleD0iMSIvPg0KCQkJCQk8L3RhYmJveD4NCgkJCQk8L2RpYWxvZz4NCgkJCWAsDQoJCQlnZXQgZWRpdG9yVVJMKCkgew0KCQkJCWRlbGV0ZSB0aGlzLmVkaXRvclVSTDsNCgkJCQl2YXIgeHVsID0gdGhpcy5lZGl0b3JYVUwudHJpbSgpOw0KCQkJCXJldHVybiB0aGlzLmVkaXRvclVSTCA9ICJkYXRhOmFwcGxpY2F0aW9uL3ZuZC5tb3ppbGxhLnh1bCt4bWwsIiArIGVuY29kZVVSSUNvbXBvbmVudCh4dWwpOw0KCQkJfSwNCgkJCW9wZW5FZGl0b3Iobm9kZSkgew0KCQkJCXRoaXMubm9kZSA9IG5vZGU7IHRoaXMuZWxtID0gdGhpcy5pbnNlcnRFbGVtZW50KCJib3giKTsNCgkJCQlTZXJ2aWNlcy53dy5vcGVuV2luZG93KHRoaXMudG9wKG5vZGUpLCB0aGlzLmVkaXRvclVSTCwgIiIsDQoJCQkJCSJjaHJvbWUsbW9kYWwscmVzaXphYmxlLGNlbnRlcnNjcmVlbix3aWR0aD03MDAsaGVpZ2h0PTUwMCINCgkJCQksIG51bGwpOw0KCQkJfSwNCgkJCWluaXRFZGl0b3Iod2luKSB7DQoJCQkJZm9yKHZhciBzdHIgb2YgWyJ0YWJzIiwgInRhYnBhbmVscyIsICJ0ZXh0Ym94Il0pIHsNCgkJCQkJd2luW3N0cl0gPSB3aW4uZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzdHIpOw0KCQkJCX0NCgkJCQlmb3IodmFyIHtuYW1lLCB2YWx1ZX0gb2YgdGhpcy5ub2RlLmF0dHJpYnV0ZXMpIHsNCgkJCQkJdmFyIGlzVmFsID0gbmFtZSA9PSAidmFsdWUiOw0KCQkJCQl2YXIgdGFiID0gdGhpcy5hZGRUYWIod2luLCBuYW1lLCB2YWx1ZSwgaXNWYWwpOw0KCQkJCQlpZiAoaXNWYWwpIHRhYi5zdHlsZS5jc3NUZXh0ID0gImZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogbmF2eTsiOw0KCQkJCX0NCgkJCQlpZiAod2luLnRhYnMuc2VsZWN0ZWRJbmRleCA9PSAtMSkgd2luLnRhYnMuc2VsZWN0ZWRJbmRleCA9IDA7DQoJCQl9LA0KCQkJYWRkVGFiKHdpbiwgbmFtZSwgdmFsdWUsIHNlbCkgew0KCQkJCXZhciB0YWIgPSB0aGlzLmluc2VydEVsZW1lbnQoInRhYiIsIHdpbi50YWJzLCB7bGFiZWw6IG5hbWV9KTsNCgkJCQl0YWIubGlua2VkQ2JlZGl0b3IgPSB0aGlzLmluc2VydEVsZW1lbnQoImNiZWRpdG9yIiwgd2luLnRhYnBhbmVscywgew0KCQkJCQljbGFzczogImN1c3RvbWJ1dHRvbnMtZWRpdG9yLWNvZGVCb3giLA0KCQkJCQltdWx0aWxpbmU6ICJ0cnVlIiwNCgkJCQkJZmxleDogIjEiLA0KCQkJCQl2YWx1ZTogdmFsdWUNCgkJCQl9KTsNCgkJCQlpZiAoc2VsKSB7DQoJCQkJCXdpbi50YWJzLnNlbGVjdGVkSXRlbSA9IHRhYjsNCgkJCQkJdGFiLmxpbmtlZENiZWRpdG9yLmZvY3VzKCk7DQoJCQkJfQ0KCQkJCXJldHVybiB0YWI7DQoJCQl9LA0KCQkJbmV3QXR0cmlidXRlKHdpbiwgbmFtZSkgew0KCQkJCW5hbWUgJiYgdGhpcy5hZGRUYWIod2luLCBuYW1lLCAiIiwgdHJ1ZSk7DQoJCQkJd2luLnRleHRib3gudmFsdWUgPSAiIjsNCgkJCX0sDQoJCQlvblRleGJveEtleWRvd24oZSkgew0KCQkJCWlmIChlLmtleUNvZGUgPT0gZS5ET01fVktfUkVUVVJOKSB7DQoJCQkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJCQkJdGhpcy5uZXdBdHRyaWJ1dGUoZS50YXJnZXQub3duZXJHbG9iYWwsIGUudGFyZ2V0LnZhbHVlKTsNCgkJCQl9IGVsc2UgdHJ5IHsNCgkJCQkJdmFyIGF0dHIgPSBlLnRhcmdldC52YWx1ZSArIGUua2V5Ow0KCQkJCQl0aGlzLmVsbS5zZXRBdHRyaWJ1dGUoYXR0ciwgdHJ1ZSk7DQoJCQkJCXRoaXMuZWxtLnJlbW92ZUF0dHJpYnV0ZShhdHRyKTsNCgkJCQl9IGNhdGNoKGV4KSB7DQoJCQkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJCQl9DQoJCQl9LA0KCQkJc2V0QXR0cmlidXRlcyh3aW4pIHsNCgkJCQlmb3IodmFyIHRhYiBvZiB3aW4udGFicy5jaGlsZE5vZGVzKSB7DQoJCQkJCXZhciB2YWwgPSB0YWIubGlua2VkQ2JlZGl0b3IudmFsdWU7DQoJCQkJCXRoaXMubm9kZS5zZXRBdHRyaWJ1dGUodGFiLmxhYmVsLCB2YWwpOw0KCQkJCX0NCgkJCQl0aGlzLnNhdmUoKTsNCgkJCX0sDQoJCQlkZWxldGVBdHRyaWJ1dGUod2luKSB7DQoJCQkJdmFyIHRhYiA9IHdpbi50YWJzLnNlbGVjdGVkSXRlbTsNCgkJCQl2YXIgYXR0ciA9IHRhYi5sYWJlbDsNCgkJCQlpZiAoIXdpbi5jb25maXJtKCLQo9C00LDQu9C40YLRjCDQsNGC0YDQuNCx0YPRgiAiICsgYXR0ciArICIgPyIpKSByZXR1cm47DQoJCQkJdGhpcy5ub2RlLnJlbW92ZUF0dHJpYnV0ZSh0YWIubGFiZWwpOw0KCQkJCXRhYi5saW5rZWRDYmVkaXRvci5yZW1vdmUoKTsgdGFiLnJlbW92ZSgpOw0KCQkJCXdpbi50YWJzLnNlbGVjdGVkSW5kZXggPSAwOw0KCQkJfSwNCgkJCXNhdmUobm9kZSA9IHRoaXMubm9kZSkgew0KCQkJCXZhciBib3ggPSBub2RlLm93bmVyRG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5ib3hJZCk7DQoJCQkJaWYgKCFib3gpIHJldHVybjsNCgkJCQlib3gucmVtb3ZlQ2hpbGQoYm94LmxpbmtlZFBvcHVwKTsNCgkJCQl2YXIgeHVsID0gYm94LmlubmVySFRNTC5yZXBsYWNlKC9cdC9nLCAiJiN4OTsiKS5yZXBsYWNlKC9cbi9nLCAiJiN4QTsiKS5yZXBsYWNlKC9cci9nLCAiJiN4RDsiKTsNCgkJCQl2YXIgbGluayA9IGN1c3RvbWJ1dHRvbnMubWFrZUJ1dHRvbkxpbmsoImVkaXQiLCBfaWQpOw0KCQkJCXZhciBwYXJhbSA9IGN1c3RvbWJ1dHRvbnMuY2JTZXJ2aWNlLmdldEJ1dHRvblBhcmFtZXRlcnMobGluayk7DQoJCQkJcGFyYW0gPSBwYXJhbS53cmFwcGVkSlNPYmplY3QgfHwgcGFyYW07DQoJCQkJcGFyYW0uaGVscCA9IHh1bDsNCgkJCQljdXN0b21idXR0b25zLmNiU2VydmljZS5pbnN0YWxsQnV0dG9uKHBhcmFtKTsJDQoJCQl9LA0KDQovLwkJCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1JU0MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCgkJCWluc2VydEVsZW1lbnQoZWxlbWVudCwgcGFyZW50LCBhdHRyaWJ1dGVzLCBiZWZvcmUgPSBudWxsKSB7DQoJCQkJdmFyIG5vdEV4aXN0ID0gdHlwZW9mIGVsZW1lbnQgIT0gIm9iamVjdCI7DQoJCQkJaWYgKG5vdEV4aXN0KSBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlbGVtZW50KTsNCgkJCQlpZiAobm90RXhpc3QgJiYgYXR0cmlidXRlcykgew0KCQkJCQlmb3IodmFyIGF0dHJpYnV0ZSBpbiBhdHRyaWJ1dGVzKSB7DQoJCQkJCQlhdHRyaWJ1dGUgPT0gImRhdGEiIHx8IGVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgYXR0cmlidXRlc1thdHRyaWJ1dGVdKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlwYXJlbnQgJiYgcGFyZW50Lmluc2VydEJlZm9yZShlbGVtZW50LCBiZWZvcmUpOw0KCQkJCXJldHVybiBlbGVtZW50Ow0KCQkJfSwNCgkJCXRvcChub2RlKSB7DQoJCQkJdmFyIHdpbiA9IG5vZGUub3duZXJHbG9iYWw7DQoJCQkJaWYgKCEod2luIGluc3RhbmNlb2YgQ2hyb21lV2luZG93KSkNCgkJCQkJd2luID0gU2VydmljZXMud20uZ2V0TW9zdFJlY2VudFdpbmRvdygibmF2aWdhdG9yOmJyb3dzZXIiKTsNCgkJCQlyZXR1cm4gd2luOw0KCQkJfQ0KCQl9Ow0KCQlzdG9yYWdlLnNldChvYnNJZCwgb2JzKTsNCgkJb2JzLmluaXQoKTsNCgl9DQoJZnVuY3Rpb24gZGVzdHJ1Y3RvcihyZWFzb24pIHsNCgkJaWYgKHJlYXNvbls1XSAhPSAiZSIpIHJldHVybjsNCgkJdmFyIG9icyA9IHN0b3JhZ2UuZ2V0KG9ic0lkLCBudWxsKTsNCgkJaWYgKG9icykgew0KCQkJb2JzLmRlc3Ryb3koKTsNCgkJCXN0b3JhZ2Uuc2V0KG9ic0lkLCBudWxsKTsNCgkJfQ0KCX0NCglhZGREZXN0cnVjdG9yKHJlYXNvbiA9PiB7DQoJCWRlc3RydWN0b3IocmVhc29uKTsNCgkJc2V0VGltZW91dChmdW5jdGlvbigpIHsNCgkJCWN1c3RvbWJ1dHRvbnMucGFsZXR0ZS5xdWVyeVNlbGVjdG9yKCd0b29sYmFyYnV0dG9uW2lkPSInICsgX2lkICsgJyJdJykgJiYgZGVzdHJ1Y3RvcigiZGVsZXRlIik7DQoJCX0sIDUwMCk7DQoJfSk7DQp9KSgpOw0K
Отредактировано Dumby (05-03-2016 17:23:03)
Отсутствует
Есть букмарклет, имеющий следущий код:
Выделить кодКод:
javascript:(function(){location.replace(location.href.search(/\?cm_interactive/)!=-1?location.href.replace(/\?cm_interactive.*/,''):location.href.replace(/#.*|$/,'?cm_interactive'));})();Как на его основе создать кнопку?
loadURI("javascript:(function(){location.replace(location.href.search(/\\?cm_interactive/)!=-1?location.href.replace(/\\?cm_interactive.*/,''):location.href.replace(/#.*|$/,'?cm_interactive'));})()");
Отсутствует
bunda1
Dumby
Спасибо.
А нет идей почему gBrowser.selectedTab = gBrowser.addTab к этому приводит? И дело не в графических глюках, ибо страница полностью функциональной становится, а не просто ее изображение на других вкладках остается. Ничего подходящего в консоли не видно.
Отсутствует
А нет идей почему gBrowser.selectedTab = gBrowser.addTab к этому приводит?
У меня идей нет, однако, вроде,
false — принудительно
null — респект browser.tabs.loadInBackground
//gBrowser.loadOneTab(submission.uri.spec, null, null, submission.postData, true, false); gBrowser.loadOneTab(submission.uri.spec, null, null, submission.postData, false, false);
Отсутствует
А нет идей почему gBrowser.selectedTab = gBrowser.addTab к этому приводит?
Потому что правильно так:
а не так:
gBrowser.selectedTab = gBrowser.addTab(submission.uri.spec, null, null, submission.postData, true, false);
Отсутствует
bunda1, Dumby, Infocatcher и все понимающие
подсобите по этому вопросу
Отсутствует
Есть полезное расширение - New Tab from Location Bar.
Но оно иногда вызывает зависание браузера.
Можно ли ему сделать замену в виде кнопки с всего одной функцией: введенное в адресной строке (urlbar) всегда открывать в новой вкладке. (?)
Отредактировано thrower (12-03-2016 13:34:48)
Отсутствует
Можно ли ему сделать замену в виде кнопки с всего одной функцией: введенное в адресной строке (urlbar) всегда открывать в новой вкладке. (?)
То есть нажатием кнопки открыть адресс из адресной строки в новой вкладке?
Отсутствует
Ki_rrrilll пишетМожно ли определить направление вращения колесика, если обработчик события добаляется не eventListener-ом, а просто
Elem.onwheel = function(e){......}Вращения колесика вертикально:
горизонтально:
А что значит вращение колёсика горизонтально?
Крутить колёсико и одновременно двигать мышку?
Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©
Отсутствует
В опять все поломалось из-за 1254752 – Remove deprecated functions from nsIIoservice. Подскажите пожалуйста, как поправить CustomButtonsService.js по образцу. Пытался сам, но что-то не взлетело.
Отсутствует
А что значит вращение колёсика горизонтально?
Это наверно для необычной мыши.
Добавлено 12-03-2016 20:50:16
bunda1
Нет, чтобы по умолчанию (by default) адрес открывался в новой вкладке.
в инициализацию:
// Открывать адрес из адресной строки в новой вкладке, от 12.03.2016. ................. (()=> { var src = "gURLBar.handleCommand = " + gURLBar.handleCommand.toString(), res = src.replace('altEnter)', 'true)').replace('if (isMouseEvent)', 'if (false)'); eval(res); addDestructor(()=> eval(src) ); })();
Отредактировано bunda1 (12-03-2016 20:50:16)
Отсутствует