vitalii201, то что надо! спасибо большое
Отсутствует
rbfyec, у Вас это прыганье происходит только когда возникает необходимость открыть сразу несколько спойлеров?
Если да, то смею предположить, что дело не в запоминании, а в перезапоминании - спойлеры имхо открываются последовательно и каждый раз перезапоминается ориентир.
Это моё имхо, конечно
Нет, и с одним спойлером тоже. Это происходит, если самый первый спойлер (когда их несколько) уехал за верхний край экрана.
А пока первый спойлер в пределах видимости, или находится за нижней границей экрана, страница не скачет, даже если одновременно открыть несколько спойлеров.
Отредактировано rbfyec (27-03-2016 10:06:37)
Отсутствует
использовал тот код, который предложил мне vtialii201. такой вопрос, возможно ли что бы данный код запоминал для каждого URLa свой набор "закладок"? и каждый раз при открытии страницы сохранял старые "закладки".
Отсутствует
Отсутствует
difabor пишетrbfyec, у Вас это прыганье происходит только когда возникает необходимость открыть сразу несколько спойлеров?
Если да, то смею предположить, что дело не в запоминании, а в перезапоминании - спойлеры имхо открываются последовательно и каждый раз перезапоминается ориентир.
Это моё имхо, конечноНет, и с одним спойлером тоже. Это происходит, если самый первый спойлер (когда их несколько) уехал за верхний край экрана.
А пока первый спойлер в пределах видимости, или находится за нижней границей экрана, страница не скачет, даже если одновременно открыть несколько спойлеров.
Тогда извините
Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©
Отсутствует
да это немного не то. гляньте тот код, который мне посоветовали. там в принципе все удобно, но хотелось бы чуть расширить функционал
Отсутствует
bunda1
Спасибо. (upd: что-то не выходит для группы стилей переделать. С массивами я тоже пока не дружу. Не поможете? )
Еще бы к этой кнопке прикрутить переключение аддонов и рестарт...
Dumby
Так пробовал?
Нет. Спасибо, отлично работает.
Отредактировано turbot (29-03-2016 22:46:45)
Отсутствует
bunda1
Спасибо. (upd: что-то не выходит для группы стилей переделать. С массивами я тоже пока не дружу. Не поможете?
Еще бы к этой кнопке прикрутить переключение аддонов и рестарт...
Хорошо, завтра посмотрю.
Отсутствует
bunda1
Спасибо. (upd: что-то не выходит для группы стилей переделать. С массивами я тоже пока не дружу. Не поможете?
Еще бы к этой кнопке прикрутить переключение аддонов и рестарт...
var array = ["DOM Inspector", "Hide text in empty textboxes", "Light text on black background"]; AddonManager.getAddonsByTypes(["extension"], addons=> { addons.forEach(addon=> { if ( ~array.indexOf(addon.name) ) { addon.userDisabled = !addon.userDisabled; } }) }); AddonManager.getAddonsByTypes(["userstyle"], addons => { addons.forEach(addon=> { if ( ~array.indexOf(addon.name) ) { addon.userDisabled = !addon.userDisabled; } }) }); setTimeout(()=> Application.restart(), 0);
Кстати может захочешь доделать кнопку:
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%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u044F%20%u0438%20Stylish%20%u0441%u0442%u0438%u043B%u0438%20+%20%u0440%u0435%u0441%u0442%u0430%u0440%u0442%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAABIAAAAkARwOXhF6RO0akFP+GpFU/gx4QfEBGw2GAAAAYwAPB3cHbDjmF5JT/hiRU/4XkFL+E4VL9wM+IKwAAAAAAAAAAQAAAAYAAAAOA0cloDC4c/8jvm//Ncd9/xJ1Q9EADwdBAAAAKAAHAzcIXjK9N8p//yLDcf8fvWz/J7du/xOBSO0AAAAAAAAAAAAAAAAAAAABCWA0pzO/eP8QuGP/McZ6/wtgNLoABgMTAAAABQACAQsDSCWeNMh9/xK+Z/8PuWP/Hrhp/xmNUvsAIREEAUAgHgEhEC0BPB4ZD3lDrDW+eP8Qt2L/I8Fx/ymeYvAHTimYASERRwZBIoAfj1bnKcZ2/xS9Z/8Zumj/Jblt/xqPU/wDOB1RG31L4SmWXvwbeEjTD3A+3ji+ef8PtWD/ELlj/yzCdv80unb+LqZp+DK2c/0xxnr/GL9r/zG9dv4pn2P8K6Jl+hSITf0SbT7RMKVp/hajW/8nq2j/N7Fz/SK0av8OsV7/DrVg/xG5Y/8XvWj/Gr9r/xi+av8SvGb/KcB0/x+LVOkBJhRHBDwfWAVfMZgjiVX5Mqls/xqiXf8Ypl7/Fqle/xKrXf8Orl3/DrFe/w+0YP8PtmH/D7di/w+3Yv8PtmH/L7t0/xR5RdEAAAAAAAAAAAAAAAAhhVLzQq52/zCpbP8trGv/L7Bu/y6zb/8ksWn/Daxb/w2vXP8OsV7/DrJe/w6yXv8OsV7/Lbhx/xqATNgABAICAAAAAAAAAAAVZDy+b7yU/nHCmf9sw5b/Xb6N/0y8g/8qsWz/DKhZ/wyqWv8NrFv/Da1b/w2tW/8NrFv/JrNr/yWLV+sAJBJGATMZSgJgMIgAJRNBLHpS0FimfvUsdVDFCWk43mjClP87s3b/HKpi/xWoXf8SqVz/EKlb/w2oWf8Lplf/EKda/zexcv4rll/4LZli+heGTf4ABwQCAEAgKAFnNEEANRoeFG9BpW3Cl/9FtHv/QbR5/z20d/87tHb/ObR1/zWyc/8srmv/HKdg/xajW/8fpWH/Lqlq/yCKVPwAAAAAAAAAAAAAAAAAAAAAHoFPoXXDm/9RtYH/T7aB/0+3gv9Mt4D/S7aA/0q2f/9Ktn//SrV+/0Wyev84q3H/QK11/yWKV/kAAAAAAAAAAAAAAAAAAAAADVIvaE6hdvRvu5T+cLyW/nXBmv9jvY//UbaC/1i5h/9wwJf+ZriP/mO2i/5etIj+UKh7+hJhOb0AAAAAAAAAAAAAAAAAAAAAAB0PCQFYLGADbzh7AU4nhzGLXfRvvpb/WLWF/2K6jP9RpHn5BlsvoAJvOHsCbzh7AmMxcAAlEiYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUIfUl+pg/Vru5L/XrWI/1+1if9zvJb+FmM8jAARCQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmw2hIDAn/50vZf/cryW/2S1i/98wJ3/FFo3rgASCQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAfTWWnhfKl0rv/ptS8/5XLr/9rso39CkcnggAHAwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkEBQw8JHEvfFXYPZRo+y2DV+kPSy2UBDIaEwAAAAAAAAAAAAAAAAAAAACAAABBgAAAQeAAAEEAAABBAAAAQQAAAEEAAcBBAADAQQAAAEEAAABBAAAAQfAAAEHwAABB8AAAQf4BwEH+AcBB/gHAQf4DwEE%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20...............%0Athis.onclick%20%3De%3D%3E%20%7B%0A%20%20%20%20%0A%20%20%20%20//%20%u041B%u041A%u041C%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0430%u0435%u0442%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u044F%20%u0438%20Stylish%20%u0441%u0442%u0438%u043B%u0438%20%u0443%u043A%u0430%u0437%u0430%u043D%u043D%u044B%u0435%20%u0432%20%27about%3Aconfig%27%20%u0438%20%u0434%u0435%u043B%u0430%u0435%u0442%20%u0440%u0435%u0441%u0442%u0430%u0440%u0442%20....%0A%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20var%20array%20%3D%20getAddonsAndStyles%28%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20AddonManager.getAddonsByTypes%28%5B%22extension%22%5D%2C%20addons%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20addons.forEach%28addon%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%7Earray.indexOf%28addon.name%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20addon.userDisabled%20%3D%20%21addon.userDisabled%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%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%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20AddonManager.getAddonsByTypes%28%5B%22userstyle%22%5D%2C%20addons%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20addons.forEach%28addon%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%7Earray.indexOf%28addon.name%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20addon.userDisabled%20%3D%20%21addon.userDisabled%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%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%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20setTimeout%28%28%29%3D%3E%20Application.restart%28%29%2C%200%29%3B%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20//%20%u0421%u041A%u041C%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20CB%20%u041C%u0435%u043D%u044E%20....%0A%20%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%20gShowPopup%28this%29%3B%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20//%20%u041F%u041A%u041C%20%u0441%u043E%u0437%u0434%u0430%u0451%u0442%20%u0438%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u043C%u0435%u043D%u044E%20%u0441%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u044F%u043C%u0438%20%u0438%20Stylish%20%u0441%u0442%u0438%u043B%u044F%u043C%u0438%20%20....%20%20%20%20%20%20%20%20%20%0A%20%20%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20%21e.ctrlKey%20%26%26%20%21e.shiftKey%20%26%26%20%21e.altKey%20%26%26%20%21e.metaKey%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20var%20array%20%3D%20getAddonsAndStyles%28%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20self.firstChild%20%26%26%20self.firstChild.remove%28%29%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20var%20menuPopup%20%3D%20self.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0A%20%20%20%20%20%20%20%20%20var%20separator%20%3D%20menuPopup.appendChild%28document.createElement%28%22menuseparator%22%29%29%3B%0A%20%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%20AddonManager.getAddonsByTypes%28%5B%22extension%22%5D%2C%20addons%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20addons.forEach%28addon%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21addon.operationsRequiringRestart%20%7C%7C%20addon.name%20%3D%3D%20%27Stylish%27%29%20return%3B%20//%20%u0435%u0441%u043B%u0438%20%u0434%u0436%u0435%u0442%u043F%u0430%u043A%20%u0440%u0430%u0448%u0438%u0440%u0435%u043D%u0438%u044F%20%u0438%u043B%u0438%20Stylish%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20mItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%22label%22%2C%20addon.name%29%3B%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%22class%22%2C%20%22menuitem-iconic%22%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%22image%22%2C%20addon.iconURL%20%7C%7C%20addon.icon64URL%20%7C%7C%20%22chrome%3A//mozapps/skin/extensions/extensionGeneric-16.png%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%7Earray.indexOf%28addon.name%29%20%29%20mItem.style.color%20%3D%20%27red%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%21addon.isActive%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mItem.style.opacity%20%3D%20%270.5%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menuPopup.insertBefore%28mItem%2C%20separator%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20else%20menuPopup.insertBefore%28mItem%2C%20menuPopup.firstChild%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%0A%20%20%20%20%20%20%20%20%20AddonManager.getAddonsByTypes%28%5B%22userstyle%22%5D%2C%20addons%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20addons.forEach%28addon%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20mItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%22label%22%2C%20addon.name%29%3B%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%22class%22%2C%20%22menuitem-iconic%22%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%22image%22%2C%20addon.iconURL%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%7Earray.indexOf%28addon.name%29%20%29%20mItem.style.color%20%3D%20%27red%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%21addon.isActive%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mItem.style.opacity%20%3D%20%270.5%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menuPopup.appendChild%28mItem%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20else%20menuPopup.insertBefore%28mItem%2C%20separator.nextSibling%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20menuPopup.onclick%20%3De%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20e.stopPropagation%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20addonName%20%3D%20e.target.label%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20array%20%3D%20getAddonsAndStyles%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%7Earray.indexOf%28addonName%29%20%29%20array%20%3D%20array.filter%28a%3D%3E%20%7B%20return%20%28a%20%21%3D%3D%20addonName%29%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20else%20array.push%28addonName%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20cbu.setPrefs%28%22CB.toggleAddonsAndStyles%22%2C%20convertFromUnicode%28%22UTF-8%22%2C%20array%29%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%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%20menuPopup.showPopup%28%20this%2C%20-1%2C%20-1%2C%20%22popup%22%2C%20%22bottomleft%22%2C%20%22topleft%22%29%3B%20%20%20%0A%20%20%20%20%20%20%20%20%20%7D%3B%20%0A%7D%3B%0A%0A%0Avar%20s%20%3D%20%22CB.toggleAddonsAndStyles%22%3B%0Avar%20alertsService%20%3D%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29%3B%0Avar%20grayscale%20%3D%20parseInt%28Services.appinfo.version%29%20%3C%2036%20%3F%20%27url%28%22chrome%3A//mozapps/skin/extensions/extensions.svg%23greyscale%22%29%27%20%3A%20%27grayscale%281%29%27%3B%0A%0A%0Afunction%20getAddonsAndStyles%28%29%20%7B%20%0A%20%20%20try%20%7B%20return%20Services.prefs.getComplexValue%28s%2C%20Ci.nsISupportsString%29.data.split%28%22%2C%22%29%20%7D%20%0A%20%20%20catch%28e%29%20%7B%20return%20%5B%5D%20%7D%3B%0A%7D%3B%0A%0A%0Avar%20listener%20%3D%20%7B%7D%3B%0Alistener.onEnabling%20%3D%20listener.onDisabling%20%3D%20candidate%20%3D%3E%20%7B%0A%20%20%20if%20%28%20candidate.type%20%3D%3D%20%22userstyle%22%20%7C%7C%20candidate.type%20%3D%3D%20%22userstyle%22%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20array%20%3D%20gPrefService.getComplexValue%28s%2C%20Ci.nsISupportsString%29.data%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20LOG%28candidate.type%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20//self.style.filter%20%3D%20grayscale%3B%20%0A%20%20%20%20%20%20%20%20%7D%0A%7D%0AAddonManager.addAddonListener%28listener%29%3B%0AaddDestructor%28%28%29%3D%3E%20AddonManager.removeAddonListener%28listener%29%29%3B%0A%0A%0Athis.tooltipText%20%3D%20%22%u041B%3A%20%22%20+%20self.label%20+%20%22%5Cn%u0421%3A%20CB%20%u041C%u0435%u043D%u044E%20%5Cn%u041F%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u044E%20%u0441%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u044F%u043C%u0438%20%u0438%20Stylish%20%u0441%u0442%u0438%u043B%u044F%u043C%u0438%22%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%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
Отсутствует
сделать чтобы они не закрывались автоматически
menuPopup.onclick =e=> { e.stopPropagation(); var addonName = e.target.label; var array = getAddonsAndStyles(); if ( ~array.indexOf(addonName) ) array = array.filter(a=> { return (a !== addonName) }); else array.push(addonName); cbu.setPrefs("CB.toggleAddonsAndStyles", convertFromUnicode("UTF-8", array)); setTimeout(()=> menuPopup.showPopup(self, -1, -1, "popup", "bottomleft", "topleft"), 0); };
Не плохо было передвинуть расширения и Stylish стили предназначенные для переключения вниз в меню под вторым курсором.
P.S. опять твои комментарии пропадают.
Отсутствует
bunda1
Ммм, выделение на пунктах меню так не снимается/добавляется, пока не закроешь/повторно откроешь меню. Ну да бог с ним, сам поковыряю. Главное вы уже сделали. Еще раз спасибо.
Добавлено 01-04-2016 23:05:38
P.S. опять твои комментарии пропадают.
Да что ж такое!.. Может вы там потыкаете на этот счет админов?
Отредактировано turbot (01-04-2016 23:05:38)
Отсутствует
Тут надо понять в каких случаях появляется проблема. Ммм, вроде твои комментарии пропадают когда я отвечаю на твой комментарий.
Ммм, выделение на пунктах меню так не снимается/добавляется, пока не закроешь/повторно откроешь меню.
Не проблема, надо переключать mItem.style.color в menuPopup.onclick =e=> { ...
Отсутствует
Тут надо понять в каких случаях появляется проблема.
Можно во флейме поэксперементировать. С моей стороны это может быть причиной? Всякие пароноидальные аддоны, действия которых не нравятся спам-фильтру?
Не проблема, надо переключать mItem.style.color в menuPopup.onclick =e=> { ...
О, спасибо.
Отсутствует
voqabuhe
А, это еще что-то в сегодняшней ночнушке поломали. this.Help и self.Help не работает. Не только в этой кнопке.
Добавлено 02-04-2016 01:11:00
Целая куча кнопок отвалилась.
Отредактировано turbot (02-04-2016 01:11:00)
Отсутствует
Нашел решение: заменить self.Help или this.Help на
Отсутствует
turbot
Я немного доработал кнопку:
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%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u044F%20%u0438%20Stylish%20%u0441%u0442%u0438%u043B%u0438%20+%20%u0440%u0435%u0441%u0442%u0430%u0440%u0442%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAABIAAAAkARwOXhF6RO0akFP+GpFU/gx4QfEBGw2GAAAAYwAPB3cHbDjmF5JT/hiRU/4XkFL+E4VL9wM+IKwAAAAAAAAAAQAAAAYAAAAOA0cloDC4c/8jvm//Ncd9/xJ1Q9EADwdBAAAAKAAHAzcIXjK9N8p//yLDcf8fvWz/J7du/xOBSO0AAAAAAAAAAAAAAAAAAAABCWA0pzO/eP8QuGP/McZ6/wtgNLoABgMTAAAABQACAQsDSCWeNMh9/xK+Z/8PuWP/Hrhp/xmNUvsAIREEAUAgHgEhEC0BPB4ZD3lDrDW+eP8Qt2L/I8Fx/ymeYvAHTimYASERRwZBIoAfj1bnKcZ2/xS9Z/8Zumj/Jblt/xqPU/wDOB1RG31L4SmWXvwbeEjTD3A+3ji+ef8PtWD/ELlj/yzCdv80unb+LqZp+DK2c/0xxnr/GL9r/zG9dv4pn2P8K6Jl+hSITf0SbT7RMKVp/hajW/8nq2j/N7Fz/SK0av8OsV7/DrVg/xG5Y/8XvWj/Gr9r/xi+av8SvGb/KcB0/x+LVOkBJhRHBDwfWAVfMZgjiVX5Mqls/xqiXf8Ypl7/Fqle/xKrXf8Orl3/DrFe/w+0YP8PtmH/D7di/w+3Yv8PtmH/L7t0/xR5RdEAAAAAAAAAAAAAAAAhhVLzQq52/zCpbP8trGv/L7Bu/y6zb/8ksWn/Daxb/w2vXP8OsV7/DrJe/w6yXv8OsV7/Lbhx/xqATNgABAICAAAAAAAAAAAVZDy+b7yU/nHCmf9sw5b/Xb6N/0y8g/8qsWz/DKhZ/wyqWv8NrFv/Da1b/w2tW/8NrFv/JrNr/yWLV+sAJBJGATMZSgJgMIgAJRNBLHpS0FimfvUsdVDFCWk43mjClP87s3b/HKpi/xWoXf8SqVz/EKlb/w2oWf8Lplf/EKda/zexcv4rll/4LZli+heGTf4ABwQCAEAgKAFnNEEANRoeFG9BpW3Cl/9FtHv/QbR5/z20d/87tHb/ObR1/zWyc/8srmv/HKdg/xajW/8fpWH/Lqlq/yCKVPwAAAAAAAAAAAAAAAAAAAAAHoFPoXXDm/9RtYH/T7aB/0+3gv9Mt4D/S7aA/0q2f/9Ktn//SrV+/0Wyev84q3H/QK11/yWKV/kAAAAAAAAAAAAAAAAAAAAADVIvaE6hdvRvu5T+cLyW/nXBmv9jvY//UbaC/1i5h/9wwJf+ZriP/mO2i/5etIj+UKh7+hJhOb0AAAAAAAAAAAAAAAAAAAAAAB0PCQFYLGADbzh7AU4nhzGLXfRvvpb/WLWF/2K6jP9RpHn5BlsvoAJvOHsCbzh7AmMxcAAlEiYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUIfUl+pg/Vru5L/XrWI/1+1if9zvJb+FmM8jAARCQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmw2hIDAn/50vZf/cryW/2S1i/98wJ3/FFo3rgASCQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAfTWWnhfKl0rv/ptS8/5XLr/9rso39CkcnggAHAwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkEBQw8JHEvfFXYPZRo+y2DV+kPSy2UBDIaEwAAAAAAAAAAAAAAAAAAAACAAABBgAAAQeAAAEEAAABBAAAAQQAAAEEAAcBBAADAQQAAAEEAAABBAAAAQfAAAEHwAABB8AAAQf4BwEH+AcBB/gHAQf4DwEE%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20...............%0Athis.onclick%20%3De%3D%3E%20%7B%0A%20%20%20%20%0A%20%20%20%20//%20%u041B%u041A%u041C%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0430%u0435%u0442%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u044F%20%u0438%20Stylish%20%u0441%u0442%u0438%u043B%u0438%20%u0443%u043A%u0430%u0437%u0430%u043D%u043D%u044B%u0435%20%u0432%20%27about%3Aconfig%27%20+%20%u0440%u0435%u0441%u0442%u0430%u0440%u0442%20....%0A%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20var%20array%20%3D%20getAddonsAndStyles%28%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20AddonManager.getAddonsByTypes%28%5B%22extension%22%2C%20%22userstyle%22%5D%2C%20addons%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20addons.forEach%28addon%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%7Earray.indexOf%28addon.name%29%20%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20addon.userDisabled%20%3D%20%21addon.userDisabled%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20setTimeout%28%28%29%3D%3E%20Application.restart%28%29%2C%2050%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20//%20%u0421%u041A%u041C%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20CB%20%u041C%u0435%u043D%u044E%20....%0A%20%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%20gShowPopup%28this%29%3B%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20//%20%u041F%u041A%u041C%20%u0441%u043E%u0437%u0434%u0430%u0451%u0442%20%u0438%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u043C%u0435%u043D%u044E%20%u0441%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u044F%u043C%u0438%20%u0438%20Stylish%20%u0441%u0442%u0438%u043B%u044F%u043C%u0438%20%20....%20%20%20%20%20%20%20%20%20%0A%20%20%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20%21e.ctrlKey%20%26%26%20%21e.shiftKey%20%26%26%20%21e.altKey%20%26%26%20%21e.metaKey%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20var%20array%20%3D%20getAddonsAndStyles%28%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20self.firstChild%20%26%26%20self.firstChild.remove%28%29%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20var%20menuPopup%20%3D%20self.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0A%20%20%20%20%20%20%20%20%20var%20separator%20%3D%20menuPopup.appendChild%28document.createElement%28%22menuseparator%22%29%29%3B%0A%20%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%20AddonManager.getAddonsByTypes%28%5B%22extension%22%2C%20%22userstyle%22%5D%2C%20addons%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20addons.forEach%28addon%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20type%20%3D%20addon.type%2C%20name%20%3D%20addon.name%2C%20isActive%20%3D%20addon.isActive%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20type%20%3D%3D%20%22extension%22%20%26%26%20%21addon.operationsRequiringRestart%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7C%7C%20name%20%3D%3D%20%27Stylish%27%20%29%20return%3B%20%20%20%20%20%20%20%20%20%20%20%20//%20%u0441%u0442%u043E%u043F%20%u0435%u0441%u043B%u0438%20%u0434%u0436%u0435%u0442%u043F%u0430%u043A%20%u0440%u0430%u0448%u0438%u0440%u0435%u043D%u0438%u044F%20%u0438%u043B%u0438%20Stylish%0A%20%20%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%20%20%20%20%20%20var%20mItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%22label%22%2C%20name%29%3B%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%22class%22%2C%20%22menuitem-iconic%22%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%22image%22%2C%20addon.iconURL%20%7C%7C%20addon.icon64URL%20%7C%7C%20%22chrome%3A//mozapps/skin/extensions/extensionGeneric-16.png%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%21isActive%20%29%20mItem.style.opacity%20%3D%20%270.5%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%7Earray.indexOf%28name%29%20%29%20mItem.style.color%20%3D%20%27red%27%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20type%20%3D%3D%20%22extension%22%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20isActive%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20menuPopup.insertBefore%28mItem%2C%20menuPopup.firstChild%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20menuPopup.insertBefore%28mItem%2C%20separator%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20type%20%3D%3D%20%22userstyle%22%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20isActive%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20menuPopup.insertBefore%28mItem%2C%20separator.nextSibling%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3A%20menuPopup.appendChild%28mItem%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20menuPopup.onclick%20%3D%28e%2C%20mItem%20%3D%20e.target%29%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20e.stopPropagation%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20mItem.style.color%20%3D%20mItem.style.color%20%3F%20%27%27%20%3A%20%27red%27%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20array%20%3D%20getAddonsAndStyles%28%29%2C%20name%20%3D%20mItem.label%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7Earray.indexOf%28name%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%3F%20array%20%3D%20array.filter%28a%3D%3E%20%7Breturn%20%28a%20%21%3D%3D%20name%29%7D%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%3A%20array.push%28name%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20cbu.setPrefs%28%22CB.toggleAddonsAndStyles%22%2C%20convertFromUnicode%28%22UTF-8%22%2C%20array%29%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20menuPopup.onmouseup%20%3De%3D%3E%20e.preventDefault%28%29%3B%0A%20%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%20menuPopup.showPopup%28self%2C%20-1%2C%20-1%2C%20%22popup%22%2C%20%22bottomleft%22%2C%20%22topleft%22%29%3B%20%20%20%0A%20%20%20%20%20%20%20%20%20%7D%3B%20%0A%7D%3B%0A%0A%0Afunction%20getAddonsAndStyles%28%29%20%7B%20%0A%20%20%20try%20%7B%20return%20Services.prefs.getComplexValue%28%22CB.toggleAddonsAndStyles%22%2C%20Ci.nsISupportsString%29.data.split%28%22%2C%22%29%20%7D%20%0A%20%20%20catch%28e%29%20%7B%20return%20%5B%5D%20%7D%3B%0A%7D%3B%0A%0A%0Athis.tooltipText%20%3D%20%22%u041B%3A%20%22%20+%20self.label%20+%20%22%5Cn%u0421%3A%20CB%20%u041C%u0435%u043D%u044E%20%5Cn%u041F%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u044E%20%u0441%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u044F%u043C%u0438%20%u0438%20Stylish%20%u0441%u0442%u0438%u043B%u044F%u043C%u0438%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
Отсутствует
ЛКМ переключает расширения и Stylish стили указанные в 'about:config' и делает рестарт ....
Доброго времени.. Сунулся на форум и сразу попробовал кнопку))) не понял, а что левая кнопка сделала - то?
Что куда должно переключаться? Непонятно..
Отредактировано emlen (02-04-2016 13:46:16)
SeaMonkey 2.39 forever
Отсутствует