>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Thunderbird http://forum.mozilla-russia.org/viewforum.php?id=7 >как ограничить число открываемых вкладок для писем в thunderbird 3.1? http://forum.mozilla-russia.org/viewtopic.php?id=47176 |
santy > 03-12-2010 11:57:37 |
Вопрос - как ограничить число открываемых вкладок для писем в thunderbird 3.1? |
luitzen > 09-12-2010 18:45:01 |
Код ниже будет сразу же закрывать открываемую вкладку, если их уже открыто четыре штуки. Можно поместить его в инициализацию кастомной кнопки, например. Выделить код Код:var tabmail = document.getElementById('tabmail'); var tabMonitor = { onTabOpened: function(aTab, aIsFirstTab, aWasCurrentTab) { if (tabmail.tabInfo.length > 4) { tabmail.closeTab(aTab); } }, onTabTitleChanged: function() {}, onTabSwitched: function() {} } tabmail.registerTabMonitor(tabMonitor); Разумеется, оттуда его можно легко убрать. И ограничено количество не вкладок с письмами, а вообще вкладок. |
luitzen > 10-12-2010 15:20:08 |
Вот так ближе к тому, что вы хотите: Выделить код Код:var tabmail = document.getElementById('tabmail'); var tabMonitor = { onTabOpened: function(aTab, aIsFirstTab, aWasCurrentTab) { if (aTab.mode.name == 'message' && tabmail.tabInfo.filter( function(element) element.mode.name=='message' ).length > 4 ) { tabmail.closeTab(aTab); } }, onTabTitleChanged: function() {}, onTabSwitched: function() {} } tabmail.registerTabMonitor(tabMonitor); Если во вкладках уже открыто четыре письма, вновь открываемая вкладка с письмом сразу же закрывается (собственно, вы и не успеете заметить, что она открывалась). |
luitzen > 10-12-2010 19:49:58 |
Можно и совсем коротко. Правда, при попытке открытия вкладки с письмом будет происходить переключение на первую вкладку, в которой открыто какое-либо письмо. Код выше рассчитан на помещение в инициализацию кастомной кнопки, а на саму кнопку можно повесить отключение/включение ограничения: Выделить код Код:with (document.getElementById('tabmail').tabModes.message) { maxTabs = maxTabs?undefined:4; } В коде инициализации сделано по-другому, чем в коде при нажатии, по той причине, что на момент инициализации кнопки типы вкладок ещё не «зарегистрированы», хотя, так сказать, подготовлены. Ещё интересно, что если уже открыто большее положенного количество вкладок, следующие будут открываться даже при включенном ограничении. Вот что можно поглядеть по теме: mailTabs.js, tabmail.xml. Всё, тема раскрыта, я считаю . |