У функции TabView._initFrame есть аргумент callback, попробуй использовать его.
я не программист, для меня меня это сплошные потемки
леплю свою кнопку с образцов кода (сниппетов) и других подобных кнопок
Сейчас для меня осталась одна проблемка с узнаванием количества открытых групп. Код:
if (!TabView._window) TabView._initFrame(); var tgw = document. getElementById ("tab-view"). contentWindow; var groupItems = tgw. GroupItems; var panlength = groupItems.groupItems.length; this.tooltipText = "Всего групп: " + panlength;
не обрабатывается при старте браузера, кнопка сразу не активна. Но если зайти в нее и выйти, тогда начинает работать...
Может можно как-то по иному, например из about:config, получать количество групп?
Отсутствует
я не программист
Ты думаешь я программист ? Вовсе нет, просто некоторые вещи мне понятны, а некоторые (большинство) - нет.
не обрабатывается при старте браузера
Ну тут и обрабатывать нечего, «при старте браузера» количество групп, в лучшем случае одна
Однако попробуй шаблон
var thisButton = this; function afterInit() { thisButton.onmouseover = function() { thisButton.tooltipText = "Всего групп: " + TabView._window.GroupItems.groupItems.length }; //Здесь весь остальной твой код... } TabView._window ? afterInit() : TabView._initFrame(afterInit);
Отредактировано Dumby (05-10-2012 22:43:37)
Отсутствует
bunda1
Насчет кнопки Translate.
При переводе страницы через Google, новая вкладка создается рядом с исходной, но она видимо не является дочерней, поэтому стэк через TU не создается.
При переводе через MS, новая вкладка создается рядом с исходной и стэк создается, но фокус почему-то переходит на вкладку которая была справа от исходной и будет переведена эта вкладка, если не переключиться на созданную для перевода вкладку. Надеюсь понятно объяснил
Уточню, если справа от исходной вкладки нет вкладок, то все переводится нормально.
Отредактировано Kamui (05-10-2012 18:05:06)
Отсутствует
Ты меня не путай! Про какие стеки речь.
Про группы вкладок, которые создаются Tab Utilities, помнишь как было с поиском через кнопку Drag and Go Modoki? Там вкладка создавалась, но не была дочерней, здесь также. Сейчас проверю на чистом профиле.
Проверил все, конфликт с TU но есть еще одна проблема, после рестарта нет меню, по ПКМ вылазит стандартное меню CB.
Отредактировано Kamui (05-10-2012 18:57:14)
Отсутствует
Dumby
В посте №5488 ты приводил код для закрытия группы.
Заметил, что при закрытии текущей группы, возвращается предыдущая, но ее активная вкладка переключается на следующую
Можно это как-то исправить?
Отсутствует
Кто нибудь знает как сохранить иконки кнопок. Нажимаю сохранить в base64, потом проверяю, изменяю иконку, на base64 не жму, удаляю иконку из папки, и, чистая кнопка, старая иконка сохраненная в base64 не возвращается, куда копать?
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
Кто нибудь знает как сохранить иконки кнопок. Нажимаю сохранить в base64, потом проверяю, изменяю иконку, на base64 не жму, удаляю иконку из папки, и, чистая кнопка, старая иконка сохраненная в base64 не возвращается, куда копать?
Не понятно.
bunda1
Как оказалось меню не появляется из-за url-addon-bar
Отсутствует
bunda1
Не понятно.
Как отвязать привязку иконок, если удаляю иконку из папки которая находится на другом диске, то и пропадает иконка в браузере. то есть иконки привязаны к путям. Из инструкции к CB - "не забывайте конвертировать её в base64 иначе при перемещении файла иконки изображение с кнопок пропадёт". Конвертирую в base64, а иконки все равно пропадают.
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
ее активная вкладка переключается на следующую
А у меня - так вообще на крайнюю правую
var tab = TabView._window.GroupItems.getNextGroupItemTab(true).tab; var group = TabView._window.GroupItems._activeGroupItem; group.fadeAwayUndoButtonDelay = 0; group.closeAll(); gBrowser.selectedTab = tab;
Отсутствует
Кнопка Translate page/selected with Google(Firefox) уже не переводит текст в всплывающем окошке. Окошко появляется но текст не переводится. Может кто то может починить.
Отсутствует
Код: if (t && location. hostname != 'sitegetter.net')
Заменить на: if (t && location. hostname != 'webwarper.net')
Код: 'http://sitegetter.net/browse.php?u='+encodeBase64('/translate.google.com/translate_t?&hl=ru&text=' +
encodeURIComponent (t) +
'&langpair=' +
language +
'&tbb=1&ujs=gtt')+'&b=29&f=norefer&ujs=gtt'
);
Заменить на:
'http://webwarper.net/ww/~av/translate.google.com/translate_t?text='+encodeURIComponent (t)+'&hl='+lng+'&langpair='+'&eotf=0&tbb=1&ujs=gtt');
Отредактировано Andrey_Krropotkin (06-10-2012 22:21:29)
Отсутствует
Люди добрые, гляньте, что не так с кодом! Моих знаний дальше уже не хватает...
Сейчас код служит для расширения функций родной кнопки FF "Группы вкладок".
На ЛКМ по ней временно повешен проверочный алерт количества открытых групп. На СКМ - открытие новой группы, а на ПКМ - закрытие текущей. Скролл по кнопке - переключение между группами вперед/назад. Значок кнопки должен меняться в зависимости от количества групп. Tooltiptext тоже проверочно выводит количество групп.
Так вот сейчас вроде все корректно, кроме закрытия групп. Группы закрываются нормально, но значок изменяется не правильно, с отставанием в 1 группу и алерт, выскакивающий при закрытии, тоже ошибается на 1. Что не так, не пойму.
// ДОПОЛНИТЕЛЬНЫЕ КЛИКИ ПО КНОПКЕ ГРУППИРОВКИ ВКЛАДОК function afterInit() { // удаление обработчика при повторной инициализации this.onDestroy3 = function() { // выходим, если функция уже выполнялась if (window.gruppiRun == 'stop') return; window.gruppiRun = 'stop'; if (window.tabscrollRun == 'stop') return; window.tabscrollRun = 'stop'; // добавляем обработчики document.getElementById("tabview-button").addEventListener("click", gruppi, false); document.getElementById("tabview-button").addEventListener("DOMMouseScroll", tabscroll, false); }(); var pancount; var tabpict1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASCAYAAABfJS4tAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsPAAALDwGS+QOlAAAAGnRFWHRTb2Z0d2FyZQBQYWludC5ORVQgdjMuNS4xMDD0cqEAAADXSURBVDhPY/z//z8DMrj74gMylwlFEpXzD4kLU4cQAxmMjO88f88AxMZA7EsExqYOJMaAYijIAqjBvtc47P4TwiCL754R+o+MoY7BajATSJKQoSB5PAYzYXPxqMGQ1EHLyAMnt2fvvuS+/PC1ChcGyYMiD1kdVAwzuYESPMzFvCnb/qNjkEE5Uzn+48MYyQ1o5nQqGgxJbkAQAcRgBpVcjEjH9DCYERROFIYxVhfTzGBQOFPqYpylmz56OoamUQxx5HQOU4Ov2ISlDlCBBMMwMRCNLI5VDQCiLbDOKwZG7AAAAABJRU5ErkJggg=="; var tabpict2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASCAYAAABfJS4tAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsPAAALDwGS+QOlAAAAGnRFWHRTb2Z0d2FyZQBQYWludC5ORVQgdjMuNS4xMDD0cqEAAADzSURBVDhPY/z//z8DMrj74gMylwlFEpXzD4kLU4cQAxmMjO88f88AxMZA7EsExqYOJMaAYijIAqjBvtc47P4TwiCL754R+o+MoY7BajATSJKQoSB5PAYzYXPxqMGQ1EHLyAMnt2fvvuS+/PC1ChcGyYMiD1kdVAx/cuNN2fYfHYMMypnK8R8fhic3YO7RB+JNUKwPCwoKDQbnRJChYlAMSpugoPCl2GCksgJkeDHQUEaqGQw1PALkfKoZDA3jYpjLqWkwKIxBZScYUymMUQshaFCAgkMfPR1D0yiGOHI6h6nBV2zCciCoQIJhmBiIRhbHqgYAR2yey86k8SwAAAAASUVORK5CYII="; var tabpict3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASCAYAAABfJS4tAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsOAAALDgFAvuFBAAAAGnRFWHRTb2Z0d2FyZQBQYWludC5ORVQgdjMuNS4xMDD0cqEAAAD1SURBVDhP7ZQ9DsIwDIXbTl0QEgPXyMDODXILRrgA9+AiDJyCmYmu/CzQAVaMHzjglJAiETYqPVWxrS9OYjsnokx/1a7Wy8Jz+ouLWrq4pw1grfX2mLEGLPuBQnGwZR4UGwjYrsohtQkbV8seaUkyQXABZxsU/gi4CGX8B9+r45ePdyu3zeE02dfn6TvBj8fTcWKLl1tntKCmABrPSorpUW7cPZaF9oPQFMjYfgn2OrbP4HkysMwKozLOk2Ts5gSDu4AzNA0Yx8eUksxxFcnAuAbAIZPojv0hhMwFbJp1LDX6Ytd17mJiY9NtgIHk5Gz4a3sw5gouQp8JxXOEQwAAAABJRU5ErkJggg=="; var tabpict4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASCAYAAABfJS4tAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsOAAALDgFAvuFBAAAAGnRFWHRTb2Z0d2FyZQBQYWludC5ORVQgdjMuNS4xMDD0cqEAAADsSURBVDhPY/z//z8DMrj74gMylwlFEpXzD4kLU4cQAxmMjO88f88AxMZA7EsExqYOJMaAYijIAqjBvtc47P4TwiCL754R+o+MoY7BajATSJKQoSB5PAYzYXPxqMGQ1EHLyAMnt2fvvuS+/PC1ChcGyYMiD1kdVAx/cuNN2fYfHYMMypnK8R8fhic3aO7hB9KgLMgICwoKDYbn2HKowfAwpthgaFmxG8lgkKt9KTYYaGAEEE+nhcEwQ0FhDMqmVHMxrPQDl59UijzUQgjJYH30dAxNoxjiyOkcpgZfsQlzOahAgmGYGIhGFseqBgB4vpfDfbAPggAAAABJRU5ErkJggg=="; var tabpict5 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAASCAYAAABfJS4tAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsOAAALDgFAvuFBAAAAGnRFWHRTb2Z0d2FyZQBQYWludC5ORVQgdjMuNS4xMDD0cqEAAAD1SURBVDhPY/z//z8DMrj74gMylwlFEpXzD4kLU4cQAxmMjO88f88AxMZA7EsExqYOJMaAYijIAqjBvtc47P4TwiCL754R+o+MoY7BajATSJKQoSB5PAYzYXPxqMGQ1EGzyIMabvzs3Zfclx++VuHCIHlQ5CGrg4rhT268Kdv+o2OQQTlTOf7jw/DkBsw9YkAMyn5gDAsKCg0G50RfILYEYhCHkZoGTwcaCMKbgFifagZDCyFGkGtBhgMNBrnalxpBAXIpTQw2gAYDyAJDKrkYpYBlA/GgYayPno6haRRDHDmdw9TgKzZhFoAKJBiGiYFoZHGsagAo0o3nCte9EwAAAABJRU5ErkJggg=="; var tabpicton = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsSAAALEgHS3X78AAAAGnRFWHRTb2Z0d2FyZQBQYWludC5ORVQgdjMuNS4xMDD0cqEAAAClSURBVDhPY7zz/D0DEmBC5qCx/2FRhxADGQTExkDsSwTGpg4kxgAyBIR9r3HY/SeEQerunhH6j4yhloMNYqKCQUzD3CCqBTY4+p+9+5L78sPXKlwYJA+KFGR1UDHU6OdN2fYfHYM05kzl+I8PY0Q/hQYhon/UIIyAhwY2OIzA6YjCMILnfn30dARNIxjiyOkMpga5GIG5DFQSwDBMDJaxkeUw1AAAa9oGjiXnhDQAAAAASUVORK5CYII="; var tabpictoff = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAACXBIWXMAAAsRAAALEQF/ZF+RAAAAGnRFWHRTb2Z0d2FyZQBQYWludC5ORVQgdjMuNS4xMDD0cqEAAAEGSURBVDhPhZSxEcIwDEVNqjQ0LEKRng2yBSUswB6swhTUVNDC0QAFtJj8YDk/inTm7t8ZS3qWLDmz8+0Z6FfxH7X+Gn7DHkAxhAh167aghu0UFwKDYDjVK1eAXI6LCAkkJdCDKjiwwYMJSEFQRZVBCC7B9IHILJU6BpVgfJCU6II8mAXRGaG8Vt8LB3oQAv271qm5Pt7b++uzY2kYDmQ/rBHbz2ICtfP1IWpp0GZfR610R0P7SxCBOqChawziTCTQ2oNt0jUB6WHjDCyYCWJHgOGkS9GwCUhDPBDA3hPJrx8OfFdWRtad5fbLCTxDaUaW1nyJ3+QzkmZJHjC+BpDMmN4X+8jnB6524gKM/bngAAAAAElFTkSuQmCC"; var alertsService = Components.classes["@mozilla.org/alerts-service;1"].getService(Components.interfaces.nsIAlertsService); function tabscroll(event){ var tgw = document. getElementById ("tab-view"). contentWindow; var groupItems = tgw. GroupItems; if (event.detail > 0) { var tabItem = groupItems. getNextGroupItemTab (false); custombuttons.alertSlide("Предыдущая группа", "Группы вкладок Firefox"); } else { var tabItem = groupItems. getNextGroupItemTab (true); custombuttons.alertSlide("Следующая группа ", "Группы вкладок Firefox"); } gBrowser. selectedTab = tabItem. tab; }; function gruppi(event){ if(event.button == 0) { event.preventDefault(); event.stopPropagation(); TogglePict(); alert(pancount); } if(event.button == 1) { // Открыть новую группу TabView._window.GroupItems.newGroup().newTab("about:blank"); TogglePict(); alertsService.showAlertNotification(tabpicton, "Группа вкладок создана", "Всего групп: " + TabView._window.GroupItems.groupItems.length, false, "", null, ""); } if(event.button == 2) { // Закрыть текущую группу event.preventDefault(); event.stopPropagation(); var tab = TabView._window.GroupItems.getNextGroupItemTab(true).tab; var group = TabView._window.GroupItems._activeGroupItem; group.fadeAwayUndoButtonDelay = 0; group.closeAll(); gBrowser.selectedTab = tab; TogglePict(); alertsService.showAlertNotification(tabpicton, "Группа вкладок удалена", "Всего групп: " + TabView._window.GroupItems.groupItems.length, false, "", null, ""); } }; var PanButton = document.getElementById("tabview-button"); PanButton.onmouseover = function() { PanButton.setAttribute("tooltiptext", "Группы вкладок Firefox\nВсего групп: " + TabView._window.GroupItems.groupItems.length); }; function TogglePict(event) { pancount = TabView._window.GroupItems.groupItems.length; if (pancount == 1) PanButton.image = tabpict1; if (pancount == 2) PanButton.image = tabpict2; if (pancount == 3) PanButton.image = tabpict3; if (pancount == 4) PanButton.image = tabpict4; if (pancount == 5) PanButton.image = tabpict5; return pancount; }; TogglePict(); }; TabView._window ? afterInit() : TabView._initFrame(afterInit);
Отсутствует