Вот сейчас только что обнаружил: отвалилась кнопка на Fx 29.0 RC1. Дома на Авроре проверю. Исправьте, пожалуйста.
P.S. Так, пока - отбой. После перезапуска браузера заработала. Понаблюдаю.
Отредактировано Vladimir_S (28-04-2014 11:48:33)
"Большинство философов до сих пор придерживается весьма нефилософских воззрений на многие вопросы философии" Эдгар Аллан По
Отсутствует
P.S. Так, пока - отбой.
У меня, вроде бы, тоже работает – проверил на 29.0 RC1 и 31.0a1 (2014-04-27).
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
P.S. Так, пока - отбой. После перезапуска браузера заработала. Понаблюдаю.
разок тоже глюканула, правда как я выяснил глюканула вся инициализация
Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.
Отсутствует
Только у меня в 32 вкладки из выпадающего списка открывает не те на которые нажимаешь, жмешь одно, открывает другое?
У меня нормально. Видимо, какое-то расширение успевает изменить список вкладок пока открыто меню.
Через встроенное меню (Журнал – Недавно закрытые вкладки) как работает?
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Undo Close Tabs 0.3.3 (2014-10-12)
[+] Добавлена возможность отображения времени закрытия вкладки/окна во всплывающей подсказке (настройки itemTipTemplate и buttonTipTemplate).
[+] Добавлена настройка windowItemTemplate для названий пунктов для восстановления закрытых окон.
[*] Дополнительная информация во всплывающих подсказках теперь отображается серым цветом.
[*] Небольшие улучшения производительности при запуске.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Есть возможность увеличить список закрытых вкладок , скажем до 20?
Есть две встроенные настройки: browser.sessionstore.max_tabs_undo и browser.sessionstore.max_windows_undo.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Infocatcher, спасибо за кнопочку! Возможно ли использование хоткея - по Опере Ctrl-Z пальцы запомнили :-) ? Чтобы нажатие хоткея было равносильно клику ЛКМ по кнопке.
P.S. Стандартная возможность назначить хоткей кнопке не работает - просто ничего не происходит. Даже с отмеченным пунктом "Запретить стандартное действие...". Пробую именно Ctrl+Z . Да и вообще никакие хоткеи не цепляются...
Отредактировано Александр Колесников (22-01-2015 16:22:23)
Отсутствует
Александр Колесников
Если ставить по custombutton://… ссылке из первого сообщения или отсюда, по хоткею будет открывать меню.
А для восстановления вкладки надо в секцию «код» вписать вот такое:
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Спасибо, теперь всё, как и хотелось!
Просто я со странички github.com/Infocatcher/Custom_Buttons/t … Close_Tabs, шёл на github.com/Infocatcher/Custom_Buttons/b … eTabs.html и копировал вручную код (там была только инициализация), вместо infocatcher.github.io/Custom_Buttons/in … eTabs.html.
Добавлено 23-01-2015 02:05:17
А для восстановления вкладки надо в секцию «код» вписать вот такое:
P.S. Может, эту инфу в шапку поднять? Имхо, удобно...
Отредактировано Александр Колесников (23-01-2015 02:05:17)
Отсутствует
Александр Колесников
Пока что добавил в закомментированном виде в установочную ссылку:
https://github.com/Infocatcher/Custom_B … 928f90c738
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Отсутствует
Александр Колесников
В каком смысле закрывает?
Не должно бы ничего закрывать, там только вывод списка реализован и открытие ранее закрытых вкладок.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Infocatcher I`m sorry.. Не туда написал почему-то... Ну раз уж здесь начал и это по поводу Вашего расширения, то ... вот что происходит:когда именно - как-то не обращал внимания, замечаю только тогда, когда той вкладки на месте не оказывается...
Имя: Close Download Tabs
Версия: 0.1.0a25
Сведения о моём FF:
Имя: Firefox
Версия: 35.0.1
User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0
Многопроцессные окна: 0/3
Сообщения о падениях за последние 3 дня
---------------------------------------
Все сообщения о падениях (включая 1 ожидающее отправки сообщение в заданном диапазоне времени)
Расширения
----------
Имя: Генератор безопасных паролей
Версия: 0.5
Включено: true
ID: password.generator@kolya.ca
Имя: Скрыть Элемент Помощника для Adblock Plus
Версия: 1.3.1
Включено: true
ID: elemhidehelper@adblockplus.org
Имя: about:addons-memory
Версия: 10
Включено: true
ID: about-addons-memory@tn123.org
Имя: Adblock Plus
Версия: 2.6.7
Включено: true
ID: {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}
Имя: Advanced Locationbar
Версия: 1.0.1
Включено: true
ID: advancedlocationbar@veg.by
Имя: anonymoX
Версия: 2.4.6
Включено: true
ID: client@anonymox.net
Имя: Close Download Tabs
Версия: 0.1.0a25
Включено: true
ID: closeDownloadTabs@infocatcher
Имя: Custom Buttons
Версия: 0.0.5.8
Включено: true
ID: custombuttons@xsms.org
Имя: Fast Dial
Версия: 4.12
Включено: true
ID: fastdial@telega.phpnet.us
Имя: FindBar Tweak
Версия: 1.4.18
Включено: true
ID: fbt@quicksaver
Имя: FireGestures
Версия: 1.8.7
Включено: true
ID: firegestures@xuldev.org
Имя: Flashblock
Версия: 1.5.18
Включено: true
ID: {3d7eb24f-2740-49df-8937-200b1cc08f8a}
Имя: Google™ Translator
Версия: 0.3.2
Включено: true
ID: jid1-dgnIBwQga0SIBw@jetpack
Имя: Imagus
Версия: 0.9.8.18
Включено: true
ID: {00000f2a-7cde-4f20-83ed-434fcb420d71}
Имя: Keylogger Beater
Версия: 3.2.1
Включено: true
ID: keyloggerbeater@toptip.ca
Имя: Link Properties Plus
Версия: 1.5.2
Включено: true
ID: linkPropertiesPlus@infocatcher
Имя: Make Link
Версия: 11.03
Включено: true
ID: {0B6B0D55-DFAC-4006-AEE6-25667F55A2A8}
Имя: Mozilla Archive Format
Версия: 3.0.3
Включено: true
ID: {7f57cf46-4467-4c2d-adfa-0cba7c507e54}
Имя: Print Edit
Версия: 13.8
Включено: true
ID: printedit@DW-dev
Имя: ProfileSwitcher
Версия: 1.6.2
Включено: true
ID: {fa8476cf-a98c-4e08-99b4-65a69cb4b7d4}
Имя: Restartless Restart
Версия: 9
Включено: true
ID: restartless.restart@erikvold.com
Имя: SaveFrom.net помощник
Версия: 4.61
Включено: true
ID: helper@savefrom.net
Имя: Search Site
Версия: 5.1
Включено: true
ID: searchsite@DW-dev
Имя: Secure Login
Версия: 1.0.6
Включено: true
ID: secureLogin@blueimp.net
Имя: TextMarker Go
Версия: 0.7.4
Включено: true
ID: {cd6c4ebf-366e-45a0-98b5-b8217288eed7}
Имя: TryAgain
Версия: 3.4.6
Включено: true
ID: {992791ee-61dc-7b98-a8fd-dc49b7deeee9}
Имя: Update Scanner
Версия: 3.2.0
Включено: true
ID: {c07d1a49-9894-49ff-a594-38960ede8fb9}
Имя: Avast Online Security
Версия: 10.1.0.170
Включено: false
ID: wrc@avast.com
Имя: YesScript
Версия: 2.0
Включено: false
ID: yesscript@userstyles.org
Графика
-------
Аппаратно ускоренные окна: 3/3 Direct3D 11 (OMTC)
Версия драйвера: 9.17.10.3347
Визуализатор WebGL: Google Inc. -- ANGLE (Intel(R) HD Graphics 3000 Direct3D9Ex vs_3_0 ps_3_0)
Дата разработки драйвера: 1-29-2014
Драйвера видеокарты: igdumd64 igd10umd64 igd10umd64 igdumd32 igd10umd32 igd10umd32
Код подсистемы: 00000000
Код производителя: 0x8086
Код устройства: 0x0112
Объём видеопамяти: Unknown
Описание видеокарты: Intel(R) HD Graphics 3000
Параметры ClearType: D [ Gamma: 2200 Pixel Structure: R ClearType Level: 100 Enhanced Contrast: 300 ] D [ Gamma: 1800 Pixel Structure: R ClearType Level: 100 Enhanced Contrast: 50 ]
Direct2D включён: true
DirectWrite включён: true (6.3.9600.17111)
GPU #2 активен: false
windowLayerManagerRemote: true
AzureCanvasBackend: direct2d
AzureContentBackend: direct2d
AzureFallbackCanvasBackend: cairo
AzureSkiaAccelerated: 0
Важные изменённые настройки
---------------------------
accessibility.typeaheadfind: true
accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 51200
browser.cache.disk.smart_size.enabled: false
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.frecency_experiment: 1
browser.link.open_newwindow: 1
browser.link.open_newwindow.override.external: 3
browser.link.open_newwindow.restriction: 0
browser.places.smartBookmarksVersion: 7
browser.search.openintab: true
browser.sessionstore.max_tabs_undo: 100
browser.sessionstore.upgradeBackup.latestBuildID: 20150122214805
browser.startup.homepage_override.buildID: 20150122214805
browser.startup.homepage_override.mstone: 35.0.1
browser.tabs.insertRelatedAfterCurrent: false
browser.urlbar.maxRichResults: 20
dom.mozApps.used: true
extensions.lastAppVersion: 35.0.1
general.autoScroll: false
gfx.direct3d.last_used_feature_level_idx: 0
media.gmp-gmpopenh264.lastUpdate: 1421868891
media.gmp-gmpopenh264.version: 1.1
media.gmp-manager.lastCheck: 1423000230
network.cookie.cookieBehavior: 3
network.cookie.prefsMigrated: true
network.http.proxy.pipelining: true
places.database.lastMaintenance: 1422996978
places.history.expiration.transient_current_max_pages: 104858
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
print.printer_EPSON_TX650_Series.print_bgcolor: false
print.printer_EPSON_TX650_Series.print_bgimages: false
print.printer_EPSON_TX650_Series.print_colorspace:
print.printer_EPSON_TX650_Series.print_command:
print.printer_EPSON_TX650_Series.print_downloadfonts: false
print.printer_EPSON_TX650_Series.print_duplex: 1515870810
print.printer_EPSON_TX650_Series.print_edge_bottom: 0
print.printer_EPSON_TX650_Series.print_edge_left: 0
print.printer_EPSON_TX650_Series.print_edge_right: 0
print.printer_EPSON_TX650_Series.print_edge_top: 0
print.printer_EPSON_TX650_Series.print_evenpages: true
print.printer_EPSON_TX650_Series.print_footercenter:
print.printer_EPSON_TX650_Series.print_footerleft: &PT
print.printer_EPSON_TX650_Series.print_footerright: &D
print.printer_EPSON_TX650_Series.print_headercenter:
print.printer_EPSON_TX650_Series.print_headerleft: &T
print.printer_EPSON_TX650_Series.print_headerright: &U
print.printer_EPSON_TX650_Series.print_in_color: true
print.printer_EPSON_TX650_Series.print_margin_bottom: 0.5
print.printer_EPSON_TX650_Series.print_margin_left: 0.5
print.printer_EPSON_TX650_Series.print_margin_right: 0.5
print.printer_EPSON_TX650_Series.print_margin_top: 0.5
print.printer_EPSON_TX650_Series.print_oddpages: true
print.printer_EPSON_TX650_Series.print_orientation: 0
print.printer_EPSON_TX650_Series.print_page_delay: 50
print.printer_EPSON_TX650_Series.print_paper_data: 9
print.printer_EPSON_TX650_Series.print_paper_height: 11.00
print.printer_EPSON_TX650_Series.print_paper_name:
print.printer_EPSON_TX650_Series.print_paper_size_type: 0
print.printer_EPSON_TX650_Series.print_paper_size_unit: 1
print.printer_EPSON_TX650_Series.print_paper_width: 8.50
print.printer_EPSON_TX650_Series.print_plex_name:
print.printer_EPSON_TX650_Series.print_resolution: 1515870810
print.printer_EPSON_TX650_Series.print_resolution_name:
print.printer_EPSON_TX650_Series.print_reversed: false
print.printer_EPSON_TX650_Series.print_scaling: 1.00
print.printer_EPSON_TX650_Series.print_shrink_to_fit: true
print.printer_EPSON_TX650_Series.print_to_file: false
print.printer_EPSON_TX650_Series.print_unwriteable_margin_bottom: 0
print.printer_EPSON_TX650_Series.print_unwriteable_margin_left: 0
print.printer_EPSON_TX650_Series.print_unwriteable_margin_right: 0
print.printer_EPSON_TX650_Series.print_unwriteable_margin_top: 0
privacy.sanitize.migrateFx3Prefs: true
security.dialog_enable_delay: 0
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1421874116
Важные заблокированные настройки
--------------------------------
JavaScript
----------
Инкрементальный GC: true
Поддержка доступности
---------------------
Активирована: false
Отключение поддержки доступности: 0
Версии библиотек
----------------
NSPR
Ожидаемая минимальная версия: 4.10.7
Используемая версия: 4.10.7
NSS
Ожидаемая минимальная версия: 3.17.2 Basic ECC
Используемая версия: 3.17.2 Basic ECC
NSSSMIME
Ожидаемая минимальная версия: 3.17.2 Basic ECC
Используемая версия: 3.17.2 Basic ECC
NSSSSL
Ожидаемая минимальная версия: 3.17.2 Basic ECC
Используемая версия: 3.17.2 Basic ECC
NSSUTIL
Ожидаемая минимальная версия: 3.17.2
Используемая версия: 3.17.2
Экспериментальные возможности
-----------------------------
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//https://forum.mozilla-russia.org/viewtopic.php?pid=557727#p557727
//Дублировать таб( Firefox 3.6 + ) Автор: bunda1 Версия: от 30.04.2013.
//Описание: Kод добавляет новый пункт в контекстное меню вкладки: Дублировать таб, который дает возможность дублировать вкладку.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(function() {
var node = document.getElementById("duplicateTab");
if ( node ) node.parentNode.removeChild( node );
var tabMenu = gBrowser.tabContainer.contextMenu || document.getAnonymousElementByAttribute(gBrowser, "anonid", "tabContextMenu");
var menuItem = document.createElement("menuitem");
menuItem.setAttribute("label", "Дублировать вкладку");
menuItem.setAttribute("id", "duplicateTab");
menuItem.setAttribute("oncommand", "gBrowser.selectedTab = gBrowser.duplicateTab( gBrowser.mCurrentTab )");
tabMenu.insertBefore( menuItem, tabMenu.firstChild.nextSibling );
})();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//https://forum.mozilla-russia.org/viewtopic.php?pid=662500#p662500
//Автор: 2k1dmg Внрсия: от 26-09-2014 07:14:19
//Описание: При закрытии вкладки фокус переходит на предыдущую использованную вкладку, а не как по умолчанию в FF, на соседнюю.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
const tc = gBrowser.tabContainer;
let tabs = [];
function onTabSelect(e) {
for (let i = 0; i < tabs.length; i++) {
if (e.target.linkedPanel != tabs[i])
continue;
tabs.splice(i, 1);
break;
}
tabs.push(e.target.linkedPanel);
}
function onTabClose(e) {
let allTabs = Array.slice(tc.childNodes);
let allTabsLP = allTabs.map(function(tab) {
return tab.linkedPanel;
});
if (e.target == gBrowser.selectedTab &&
tabs.length >= 1) {
let tab;
let lp = tabs[tabs.length - (tabs.length == 1 ? 1 : 2)];
for (let i = 0; i < allTabsLP.length; i++) {
if (lp != allTabsLP[i])
continue;
tab = allTabs[i];
break;
}
if (tab)
gBrowser.selectedTab = tab;
}
if (tabs.length != 0) {
tabs = tabs.filter(function(tab) {
return allTabsLP.indexOf(tab) != -1 ? true : false;
});
tabs.splice(tabs.length - (tabs.length == 1 ? 1 : 2), 1);
}
}
addEventListener("TabSelect", onTabSelect, false, tc);
addEventListener("TabClose", onTabClose, false, tc);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//https://forum.mozilla-russia.org/viewtopic.php?pid=607274#p607274
//Автор: Dumby, bunda1 Версия: от 05-11-2014 19:47:41
//Описание: Kод открывает библиотеку как активную вкладку рядом с текущей вкладкой и открывает в в библиотеке:
//1. папку закладок которая была открыта перед закрытием библиотеки если в главном меню или в меню кнопки меню вы нажали Показать все закладки
//2. Загрузки или Неподшитые закладки если в главном меню или в меню кнопки меню вы нажали эти пункты,
//3. первую папку истории( Сегодня ) отсортированную по адресу если в главном меню или в меню кнопки меню вы нажали Показать весь журнал, в коде можно
// отключить сортировку по адресу и указать другую папку истории для открытия.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Открывать библиотеку во вкладке и последнюю активную папку библиотеки, от 05.11.2014. ............................
(function () {
var historyFolderNum = 1; // папка истории которую откроет код
var sortHistoryFolder = true; // сортировать папку истории которую откроет код
var command;
const pn = "CB.lastUsedLibraryFolder";
const library = "chrome://browser/content/places/places.xul";
// Перехватывать открытие библиотеки и открывать её в вкладке рядом с текущей ....
function libraryInTab(e) {
command = e.target.getAttribute("oncommand");
if ( !/showPlacesOrganizer|DownloadsUI|DownloadsPanel/.test( command ) ) return;
if ( /showPlacesOrganizer|UnfiledBookmarks/.test( command ) && e.type == 'click' ) return;
e.stopPropagation();
// закрыть все вкладки библиотеки кроме первой ....
var libTab = null;
Array.slice( gBrowser.tabs ).forEach(function(tab) {
if ( tab.linkedBrowser.currentURI.spec !== library ) return;
!libTab ? libTab = tab : gBrowser.removeTab( tab );
});
// переместить или открыть библиотеку рядом с текущей вкладкой ....
var selTab = gBrowser.selectedTab;
if ( libTab !== selTab ) {
if ( libTab && gBrowser.visibleTabs.indexOf( libTab ) == -1 )
TabView.moveTabTo( libTab, TabView._window.GroupItems._activeGroupItem.id );
libTab = libTab || gBrowser.addTab( library );
var pos = selTab._tPos + ( libTab._tPos > selTab._tPos );
gBrowser.moveTabTo( libTab, pos );
gBrowser.selectedTab = libTab;
// если уже открытая библиотека была перемещена
if ( !libTab.hasAttribute('busy') ) openLastUsedFolder();
}
else
openLastUsedFolder(); // если библиотека уже в текущей вкладке
};
addEventListener("command", libraryInTab, true, window );
addEventListener("click", libraryInTab, true, document.getElementById('appmenuSecondaryPane') );
// Открывать и запоминать последнюю активную папку если библиотека открыта как вкладка ....
function openLastUsedFolder( e ) {
var win = e ? e.target.defaultView : content.document.defaultView;
if ( win.location != library ) return;
// получить нужную папку
try { var value = cbu.getPrefs( pn ) } catch(e) { value = '' };
if ( /DownloadsUI|DownloadsPanel/.test( command ) ) value = 'place:transition=7&sort=4';
if ( /UnfiledBookmarks/.test( command ) ) value = 'place:folder=UNFILED_BOOKMARKS&excludeItems=1&expandQueries=0';
// закрыть меню большой кнопки и кнопки загрузок
setTimeout(function() {
try { document.getElementById("appmenu-popup").hidePopup();
document.getElementById("downloadsPanel").hidePopup();
} catch(e) {}
}, 10 );
// открыть нужную папку используя рекурсию
(function f() {
if ( win.location != library ) return;
try {
if ( /'History'/.test( command ) ) {
var doc = win.document;
var view = doc.getElementById('placesList').view;
if ( view ) view.selection.select( historyFolderNum ); // открыть указанную папку
// сортировать папку истории по адресу
if ( sortHistoryFolder && view ) {
doc.getElementById('viewMenu').open = true;
doc.getElementById('viewSort').open = true;
doc.getElementById('viewMenu').open = false;
doc.getElementById('menucol_placesContentUrl').doCommand();
}
}
else
{
win.PlacesOrganizer.location = value;
win.PlacesOrganizer._places.focus();
}
}
catch(e) { setTimeout(function() f(), 0) };
})();
// запоминать последнюю папку при закрытии библиотеки
if ( e == undefined ) return;
win.addEventListener("unload", function f(e) {
win.removeEventListener( e.type, f);
var loc = win.PlacesOrganizer.location;
/place:folder|place:sort/.test( loc ) && cbu.setPrefs( pn, loc );
});
};
addEventListener("DOMContentLoaded", openLastUsedFolder, false, gBrowser );
})();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// https://forum.mozilla-russia.org/viewtopic.php?pid=668727#p668727
// При долгом клике СКМ открывать ссылку справа от текущей, от 22.11.2014.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(() => {
const delay = 500;
var longMiddleClick = false, mousedownTime = 0;
var handler = {
handleEvent: e => e.button == 1 && handler[e.type](),
mousedown: () => mousedownTime = Date.now(),
mouseup: () => setTimeout(() => longMiddleClick = false, 50,
longMiddleClick = Date.now() - mousedownTime > delay
)
};
for(var type of ["down", "up"]) addEventListener("mouse" + type, handler);
addEventListener("TabOpen", e =>
longMiddleClick && gBrowser.moveTabTo(e.target, gBrowser.selectedTab._tPos + 1)
, false, gBrowser.tabContainer);
})();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// https://forum.mozilla-russia.org/viewtopic.php?pid=626886#p626886
// Kод даёт возможность открывать закладки средним кликом на закладке не закрывая меню закладок. Код не работает в боковой панели закладок.
// Открывать закладки средним кликом в новой вкладке не закрывая меню закладок, от 16.09.2013. ................................
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(function() {
const str = 'p"', rep = 'p" && !aEvent.button', obj = BookmarksEventHandler, func = obj.onClick;
eval("BookmarksEventHandler.onClick = " + String.replace(func, str, rep));
addDestructor(function() obj.onClick = func);
})();
;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// https://forum.mozilla-russia.org/viewtopic.php?pid=667273#p667273
// Открывать средним кликом вкладки из Журнала (кроме "Показать весь журнал") в новой вкладке, не закрывая меню Журнал, от 6.11.2014.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(popup => {
popup.checkForMiddleClick = (node, e) => {
var trg = e.target;
if (trg.getAttribute("disabled") == "true" || e.button != 1) return;
popup.parentNode._placesView._onCommand(e);
if (trg.mozMatchesSelector('#historyUndoPopup > [oncommand*="undoCloseTab"]')) {
trg.classList.contains("restoreallitem") && trg.doCommand();
popup.parentNode._placesView.populateUndoSubmenu();
var menupopup = popup.querySelector('.recentlyClosedTabsMenu[disabled="true"] > menupopup');
menupopup && menupopup.hidePopup();
}
else if (!trg.mozMatchesSelector("#goPopup > .bookmark-item"))
closeMenus(trg);
}
addDestructor(() => delete popup.checkForMiddleClick);
})(document.getElementById("goPopup"));
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//https://forum.mozilla-russia.org/viewtopic.php?pid=666510#p666510
//Автор: Dumby 02.11.2014 01:53:22
//Багфикс для бага 513180 - https://bugzilla.mozilla.org/show_bug.cgi?id=513180
//(по ENTER настройка browser.search.openintab=TRUE срабатывает и результаты поиска из searchbar-а открываются в новой вкладке, а по ЛКМ по значку лупы - в текущей).
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(bar => {
if (!bar) return;
var btn = document.getAnonymousElementByAttribute(bar, "anonid", "search-go-button");
var prfx = 'event.button == 0 && gPrefService.getBoolPref("browser.search.openintab")\n\t'
+ '? doSearch(value, event.shiftKey ? "tabshifted" : "tab")\n\t: ';
function setAttr(arg) btn.setAttribute("onclick", (arg ? "" : prfx) + "handleSearchCommand(event);");
setAttr(); addDestructor(setAttr);
})(BrowserSearch.searchBar);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Автоматически перезагружать вкладку+
//Версия от 01-04-2013 12:34:52 https://forum.mozilla-russia.org/viewtopic.php?pid=607565#p607565
//с изменением от 01-04-2013 16:55:35 https://forum.mozilla-russia.org/viewtopic.php?pid=607582#p607582
//Авторы: bunda1, Dumby
//Для изменения интервала перезагрузки меняете в коде значение константы reloadInterval
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(function() {
const reloadInterval = 5 * 60 * 1000; // интервал перезагрузки задаётся в миллисекундах, 1 sek = 1000 ms
const reloadButtonIcon = "data:image/x-icon;base64,AAABAAEADAwAAAEAIACYAgAAFgAAACgAAAAMAAAAGAAAAAEAIAAAAAAAcAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgIAAQECAAAAAAAAAAAAAAAAAAAAAAABAQIAAQICAAAAAAAAAAAAAAAAAAEBAQAAAAAEBggGDydSUhM6g40SOYONCyNRUgEDCAYAAAAAAAEBAQAAAAAAAQICAAAAAA4XIR4nXLvNJGnx/yNq9/0jaff9I2jx/x1Suc0FDh4eAAAAAAABAQIAAAAACAoGBDNluMopaOn/LWnf/jJnw90zacTdLmvf/Stq6v8jU7PJAQIEAwAAAAAAAAAAJDpVVTV27f8ta+H/Jkh9hAgJBAEGCAQAK09+gzJw4/8vb+v/ESdPVAAAAAAAAAAANFmJjDR7/P8tZcncBQcKCAAAAAAAAAAACQwLBzhyzNwyefv/HUKFjAAAAAAAAAAAOV+LjDyI//8wbc3bAgUJBgEBAAAAAAABCAsKBjx5z9s6hf//IkqIjAAAAAAAAAAAMEhcVk6c//8+ivH/J1GHigMEBAIBAAAALlV/f0SP8/9Flf//HDhZVgAAAAAAAAAACgoIBVqXzcpPqP//QHq5wBYgJR0/d7C0TJ/8/06j//9GiMzNBAYIBQAAAAABAQICAAAAABggIx5mqt/iOWiNiyAvNjBpv///Xbj//1KWz9ESHSUhAAAAAAEBAgIAAAAAAQEBAQAAAAAJCwoHOllqZRYgJR0mO0VANVVnZAcJCAYAAAAAAQEBAQAAAAAAAAAAAAAAAAECAgIBAQECAAAAAAEBAgEAAAEBAAAAAAABAQIBAQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
const reloadButtonStyle = '-moz-appearance: none !important; margin-left: -1px !important; margin-right: -1px !important; padding: 0 !important; border: none !important;';
const reloadButtonClass = "cb-reload-icon";
const tabContextMenu = document.getElementById("tabContextMenu");
const menuitemInsertPoint = document.getElementById("context_bookmarkAllTabs");
const menuitemId = "tabAutoReload";
const attr = "auto-reload-interval";
function createNode(nodeName, attrs) {
var node = document.createElement(nodeName);
for (var attr in attrs) node.setAttribute(attr, attrs[attr]);
return node;
}
var menuitem = createNode("menuitem", {
id: menuitemId,
type: "checkbox",
label: "Автоматически перезагружать"
});
function onPopupShowing(e) {
var popup = e.target;
if (popup != tabContextMenu) return;
popup.insertBefore(menuitem, menuitemInsertPoint);
var tab = popup.triggerNode;
menuitem.hidden = tab.linkedBrowser.currentURI.scheme.slice(0, 4) != "http";
menuitem.setAttribute("checked", tab.hasAttribute(attr));
}
function onPopupHidden(e) {
var popup = e.target;
if (popup == tabContextMenu) popup.removeChild(menuitem);
}
function reload(tab) {
gBrowser.reloadTab(tab);
}
function toggleAutoReload(e) {
var tab = e.target.parentNode.triggerNode;
var interval = tab.getAttribute(attr);
interval ? clearTab(tab) : initTab(tab);
}
function initTab(tab, noInt) {
if (!noInt) {
var interval = setInterval(reload, reloadInterval, tab);
tab.setAttribute(attr, interval);
}
var n = tab.tcn = {};
var nodes = {
parent: "tab-content",
throbber: "tab-throbber",
image: "tab-icon-image",
label: "tab-text tab-label"
}
for (var prop in nodes)
n[prop] = document.getAnonymousElementByAttribute(tab, "class", nodes[prop]);
setTimeout(function() {
n.clonedLabel = n.label.cloneNode(false);
n.label.hidden = true;
n.parent.insertBefore(n.clonedLabel, n.label);
}, 500);
n.button = createNode("toolbarbutton", {
class: reloadButtonClass,
image: reloadButtonIcon,
style: reloadButtonStyle
});
n.parent.removeChild(n.throbber)
n.parent.insertBefore(n.button, n.image);
addEventListener("mousedown", onReloadButtonClick, true, tab);
}
function clearTab(tab, noInt) {
if (!noInt) {
clearInterval(tab.getAttribute(attr));
tab.removeAttribute(attr);
}
removeEventListener("mousedown", onReloadButtonClick, true, tab);
var n = tab.tcn;
if (!n) return;
n.parent.removeChild(n.clonedLabel);
n.label.hidden = false;
n.parent.removeChild(n.button);
n.throbber.removeAttribute("busy");
n.parent.insertBefore(n.throbber, n.image);
delete tab.tcn;
}
function onTabMove(e) {
var tab = e.target;
if (!tab.hasAttribute(attr)) return;
clearTab(tab, true);
initTab(tab, true);
}
function onReloadButtonClick(e) {
var node = e.originalTarget;
if (node.className != reloadButtonClass || e.button) return;
e.stopPropagation();
clearTab(e.target);
}
function onTabClose(e) {
var tab = e.target;
var interval = tab.getAttribute(attr);
if (!interval) return;
clearInterval(interval);
removeEventListener("mousedown", onReloadButtonClick, true, tab);
}
function onTabRestored(e) {
var tab = e.target;
if (tab.hasAttribute("last-tab") && tab.hasAttribute(attr) && !tab.tcn)
initTab(tab);
}
Cc["@mozilla.org/browser/sessionstore;1"]
.getService(Ci.nsISessionStore)
.persistTabAttribute(attr);
setTimeout(function() {
Array.slice(gBrowser.tabs).forEach(function(tab) {
if (tab.hasAttribute(attr))
tab.tcn ?
addEventListener("mousedown", onReloadButtonClick, true, tab) :
initTab(tab);
});
}, 500);
[
["command", toggleAutoReload, false, menuitem],
["popupshowing", onPopupShowing, false, tabContextMenu],
["popuphidden", onPopupHidden, false, tabContextMenu],
["TabClose", onTabClose, false, gBrowser.tabContainer],
["TabMove", onTabMove, false, gBrowser.tabContainer],
["SSTabRestored", onTabRestored, false, gBrowser.tabContainer]
].forEach(function(args) { addEventListener.apply(this, args) });
})();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//CB drag and go( Firefox17+ )
//Версия: от 15.10.2014
//https://forum.mozilla-russia.org/viewtopic.php?pid=664249#p664249
//Автор: bunda1
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function dragAndGo(e) {
// стоп, если внутренне страницы или страница с файлами
var protocol = content.location.protocol;
if ( ["about:", "chrome:", "jar:", "data:", "file:"].indexOf( protocol ) !== -1 ) return;
switch ( e.type ) {
case "dragstart":
self.startPoint = {x:e.screenX, y:e.screenY}; break; // получить начальные координаты перетаскивания
case "dragover":
Cc["@mozilla.org/widget/dragservice;1"].getService(Ci.nsIDragService).getCurrentSession().canDrop = true; break;
case "drop": {
// стоп, если перетаскивается в поле текстового ввода или из-за пределов окна браузера
var name = e.target.localName;
if ( !self.startPoint || ["text", "input", "textarea", "password"].indexOf( name ) !== -1 ) return;
e.preventDefault();
// получить направление перетаскивания, L налево, R направо, U верх, D вниз
var [subX, subY] = [e.screenX - self.startPoint.x, e.screenY - self.startPoint.y];
var [distX, distY] = [(subX > 0 ? subX : (-subX)), (subY > 0 ? subY : (-subY))];
var direction = distX > distY ? (subX < 0 ? "L" : "R") : (subY < 0 ? "U" : "D");
self.startPoint = 0;
// стоп, если перетаскивается меньше минимального расстояния
if ( distX > distY ? distX < 12 : distY < 12 ) return;
// Ссылки ....
if ( e.dataTransfer.types.contains("text/x-moz-url") ) {
var link = e.dataTransfer.getData("text/x-moz-url").split("\n")[0];
if ( direction == "U" ) {
// сохранить ссылку
//saveImageURL( link, "save", null, false, false, null, content.document);
//return;
}
if ( direction == "D" ) {
// открыть ссылку в новой фоновой странице
//gBrowser.addTab( link );
//return;
}
if ( direction == "L" ) {
// копировать ссылку в буфер обмена
gClipboard.write( link );
}
if ( direction == "R" ) {
// открыть ссылку в новой активной странице
//gBrowser.selectedTab = gBrowser.addTab( link );
//return;
// сохранить ссылку или изображение без запроса на место сохранения в папке загрузки или на диск C:
//saveImageURL( link, 0, 0, 0, 1, null, content.document );
//return;
}
}
// Изображения ....
if ( e.dataTransfer.types.contains("application/x-moz-file-promise-url") ) {
var img = e.dataTransfer.getData("application/x-moz-file-promise-url").split("\n")[0]
if ( direction == "U" ) {
// поиск похожих изображений на google.com в новой активной вкладке
gBrowser.selectedTab = gBrowser.addTab("http://www.google.com/searchbyimage?image_url=" + img );
return;
}
if ( direction == "D" ) {
// сохранить изображение
saveImageURL( img, "save", null, false, false, null, content.document);
return;
}
if ( direction == "L" ) {
// открыть изображение в новой фоновой странице
gBrowser.addTab( img );
return;
}
if ( direction == "R" ) {
// открыть изображение в новой активной странице
gBrowser.selectedTab = gBrowser.addTab( img );
return;
// сохранить изображение без запроса на место сохранения в папке загрузки или на диск C:
//saveImageURL( img, 0, 0, 0, 1, null, content.document );
//return;
}
}
// Выделенный текст ....
if ( e.dataTransfer.getData("text/unicode") ) {
var sel = e.dataTransfer.getData("text/unicode");
if ( direction == "U" ) {
// поиск текста в google в новой активной странице
gBrowser.selectedTab = gBrowser.addTab("http://www.google.com/search?q=" + sel );
return;
}
if ( direction == "D") {
// поиск текста на текущей странице, как по "CTRL F"
gFindBar.onFindCommand( sel );
// поиск текста в google в новой фоновой странице
//gBrowser.addTab("http://www.google.com/search?q=" + escape( convertFromUnicode("UTF-8", sel )) );
//return;
}
if ( direction == "L" ) {
// копировать в буфер обмена
gClipboard.write( sel );
}
if ( direction == "R" ) {
// открыть текстовые ссылки в новой активной странице
gBrowser.selectedTab = gBrowser.addTab( sel );
return;
// сохранить текст в .txt файл
//var fileTitle = content.document.title.slice(0, 50) + ' ' + (new Date()).toLocaleFormat("%H·%M·%S");
//saveURL("data:text/plain," + encodeURIComponent( content.location + ("\r\n\r\n" + sel )),
// fileTitle + ".txt", null, false, false, null, content.document);
}
}
}
}
};
["dragstart", "dragover", "drop"].forEach(function(type) addEventListener(type, dragAndGo, false, gBrowser) );
// Подсказка кнопки ............................................................................
this.tooltipText = "CB drag and go \nЗапускает жести мыши для ЛКМ на странице \nЛ: Редактировать эту кнопку";
Отредактировано Александр Колесников (04-02-2015 19:55:06)
Отсутствует
Александр Колесников
Ааа... понятно. Сходу не воспроизвелось (но я без кнопок проверял), буду думать.
А на будущее лучше в отдельную тему писать: https://forum.mozilla-russia.org/viewtopic.php?id=57329
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
поменять иконку кнопки
Надо отредактировать вот эту строку в коде:
Там по три варианта иконок для обычных и больших значков.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
скрытый текстtom911 пишетпоменять иконку кнопки
Надо отредактировать вот эту строку в коде:
Там по три варианта иконок для обычных и больших значков
.
Может подскажите как переместить кнопку в url
Отредактировано tom911 (24-12-2015 15:11:20)
Отсутствует
Может подскажите как переместить кнопку в url
В смысле кнопку?
Там надо открыть оригинальный набор иконок в браузере, вот этот:
data:image/png;base64,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
Сохранить, отредактировать, потом в редакторе кнопки сконвертировать в base64 и вставить вместо оригинальной ссылки.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Было бы круто в виде выпадающих меню по закрытым вкладкам меню со списком их истории, чобы не надо было восстанавливать всю сессию таба, если нужна только одна страничка предыдущая той на которой таб закрыл, к примеру..
SeaMonkey 2.39 forever
Отсутствует
Было бы круто в виде выпадающих меню по закрытым вкладкам меню со списком их истории, чобы не надо было восстанавливать всю сессию таба, если нужна только одна страничка предыдущая той на которой таб закрыл, к примеру..
Не знаю, больше никто такого не просил никогда.
И потом, как тогда предполагается восстанавливать вкладки целиком?
Плюс там прокрутка запоминается и прочее... нужно будет вручную редактировать даные сессии – не факт, что всегда будет корректно работать.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Заметил сейчас, 50-й. СКМ по кнопке очищает историю закрытых вкладок, но после перезапуска они снова появляются в списке/истории. Если очищать через меню ПКМ --> Очистить историю закрытых вкладок, то после перезапуска в истории чисто. Это только у меня так?
P.S. Возможно, не всегда чисто даже если удалять историю через меню ПКМ. Не могу понять зависимости...
Отредактировано xrun1 (14-12-2016 20:14:52)
Отсутствует