>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Сustom Buttons http://forum.mozilla-russia.org/viewforum.php?id=34 >[CB]Автоматически перезагружать вкладку http://forum.mozilla-russia.org/viewtopic.php?id=58465 |
bunda1 > 17-03-2013 23:27:49 |
Автоматически перезагружать вкладку( Firefox 64+ ) Для изменения интервала перезагрузки меняете в коде эту строку: Использование: создайте новую Custom Buttons кнопку и положите код в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую. Выделить код Код:// Автоматически перезагружать вкладку, от 09.11.2022. ................. ((tabContextMenu, attr) => { var reloadInterval = 60000; // интервал перезагрузки, 60 sek = 60000 ms // Создать новый пункт контекстного меню вкладки .... var menuitem = document.createElementNS(xulns, "menuitem"); menuitem.setAttribute("type", "checkbox"); menuitem.setAttribute("label", "Автоматически перезагружать"); tabContextMenu.insertBefore(menuitem, document.getElementById("context_closeTab")); // над каким пунктом меню показывать addDestructor(()=> menuitem.remove()); // Устанавливаем где показывать пункт меню и чекбокс у пункта .... addEventListener("popupshowing", (e)=> { var tab = e.target.triggerNode; tab.interval || tab.removeAttribute(attr); menuitem.setAttribute("checked", tab.hasAttribute(attr)); menuitem.hidden = !tab.linkedBrowser.currentURI.scheme.startsWith("http"); }, false, tabContextMenu); // Функция перезагрузки .... menuitem.onclick =()=> { var tab = TabContextMenu.contextTab; if ( tab.hasAttribute(attr) ) { clearInterval(tab.interval); tab.removeAttribute(attr); return; } tab.interval = setInterval(()=> { if (tab.collapsed || !menuitem.parentNode) clearInterval(tab.interval); gBrowser.reloadTab(tab); }, reloadInterval); tab.setAttribute(attr, true); }; })(document.getElementById("tabContextMenu"), "autoReload"); |
bunda1 > 31-03-2013 02:57:49 |
Автоматически перезагружать вкладку+( Firefox 24 + ) Для изменения стиля кнопки перезагрузки меняете в коде эти строки: Выделить код Код:const reloadButtonStyle = '-moz-appearance: none !important; -moz-box-ordinal-group: 0 !important; margin-left: -1px !important; margin-right: -1px !important; padding: 0 !important; border: none !important;'; 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="; Для удаления индикаторов загрузки вкладки при авто перезагрузке: Используйте кнопку Attributes Inspector и определите Css селектор индикатора загрузки и добавьте в кавычках и через запятую в: Выделить код Код:const throbber = [".tab-progress-box", ".tab-progress"]; // индикаторы загрузки скрываемые при автоперегрузке Для изменения интервала перезагрузки меняете в коде эту строку: Использование: создайте новую Custom Buttons кнопку и положите код в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую. Выделить код Код:// "Автоматически перезагружать" в контекстном меню вкладки, от 19.11.2015. ................. ((tabContextMenu, tabs, attr) => { const reloadInterval = 60000; // интервал перезагрузки, 60 sek = 60000 ms const throbber = [".tab-progress-box", ".tab-progress"]; // индикаторы загрузки скрываемые при автоперегрузке const reloadButtonStyle = "pointer-events: auto !important; -moz-appearance: none !important; -moz-box-ordinal-group: 0 !important; margin-left: -1px !important; margin-right: -1px !important; padding: 0 !important; border: none !important;"; 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 menuitem = document.createElement("menuitem"); menuitem.setAttribute("type", "checkbox"); menuitem.setAttribute("label", "Автоматически перезагружать"); menuitem.onclick =()=> toggleAutoReload(document.popupNode); tabContextMenu.insertBefore(menuitem, document.getElementById("context_bookmarkAllTabs")); // над каким пунктом меню показывать // Устанавливаем где показывать пункт меню и чекбокс у пункта .... addEventListener("popupshowing", (e)=> { var tab = e.target.triggerNode; menuitem.hidden = !tab.linkedBrowser.currentURI.scheme.startsWith("http") menuitem.setAttribute("checked", tab.hasAttribute(attr)); }, false, tabContextMenu); // Добавлять или удалять кнопку и атрибут перегрузки на вкладку, добавлять обработчик на кнопку .... function toggleIconAndAttribute(tab) { var hbox = document.getAnonymousElementByAttribute(tab, "class", "tab-content"); if ( tab.hasAttribute(attr) ) { // удалить кнопку и атрибут hbox.removeChild(tab.querySelector("#tabReloadButton")); tab.removeAttribute(attr); return; } var reloadButton = document.createElement("toolbarbutton"); // создать кнопку reloadButton.setAttribute('image', reloadButtonIcon); reloadButton.setAttribute('style', reloadButtonStyle); reloadButton.setAttribute('id', 'tabReloadButton'); hbox.appendChild(reloadButton); tab.setAttribute(attr, 'true'); // добавить атрибут и обработчик reloadButton.onclick =()=> toggleAutoReload(tab); }; // Восстановить авто перегрузку табов и иконку после старта браузера и после перемещения вкладки .... function restoreAutoReload(e) { var tab = e.target; if ( !tab.hasAttribute(attr) || tab.querySelector("#tabReloadButton") ) return; tab.removeAttribute(attr); toggleAutoReload(tab); }; addEventListener('TabMove', restoreAutoReload, false, tabs); addEventListener('SSTabRestored', restoreAutoReload, false, tabs); // Стиль удаляет разные индикаторы загрузки вкладки при автоперегрузке .... throbber.forEach((m,i)=> throbber[i] = '.tabbrowser-tab[autoReload]:not([busy]) ' + m); var str = throbber + '{-moz-appearance: none !important; display: none !important;}'; const sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); var uri = makeURI("data:text/css," + encodeURIComponent(str)); sss.loadAndRegisterSheet(uri, 0); // Переключать авто перегрузку таба .... function toggleAutoReload(tab) { clearInterval(tab.interval), toggleIconAndAttribute(tab); if ( !tab.hasAttribute(attr) ) return; tab.interval = setInterval(()=> { if (tab.collapsed || !menuitem.parentNode) clearInterval(tab.interval); gBrowser.reloadTab(tab); tab.removeAttribute("busy"); }, reloadInterval ); }; // Удалить изменения при удаления кода .... addDestructor(()=> { menuitem.remove(); sss.unregisterSheet(uri, 0); try{ document.querySelector("#tabReloadButton").remove() } catch(e){} }); })(document.getElementById("tabContextMenu"), gBrowser.tabContainer, "autoReload"); |
Dumby > 31-03-2013 22:04:18 |
bunda1 пишет
Немножко поворчу скрытый текст Смотри, что происходит: Допустим, клик ПКМ по неактивной вкладке и клик по «Автоматически перезагружать», Клик по menuitem «Автоматически перезагружать» записывает id интервала перезагрузки как своё свойство. А вот если закрыть перезагружаемую вкладку, то наоборот - интервал продолжает работать, А стили да, стили хороши. Подумал, что было бы хорошо, если бы «маленькая иконка перезагрузки» кликалась. Выделить код Код:(function() { const reloadInterval = 1 * 60 * 1000; 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 menuitemInsertPoint = document.getElementById("context_bookmarkAllTabs"); const attr = "auto-reload-interval"; const tabContextMenu = document.getElementById("tabContextMenu"); const menuitemId = "tabAutoReload"; const sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); const type = sss.AGENT_SHEET; const css = '\ .tabbrowser-tab[label="%label%"] .tab-throbber { -moz-appearance: none !important; display: none !important; }\ .tabbrowser-tab[label="%label%"] .tab-icon-image { display: block !important; }\ '; 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; 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) { e.target.removeChild(menuitem); } function reload(tab) { var style = css.replace(/%label%/g, tab.label); var uri = makeURI("data:text/css," + encodeURIComponent(style)); sss.loadAndRegisterSheet(uri, type); tab.linkedBrowser.addEventListener("pageshow", function(e) { this.removeEventListener(e.type, arguments.callee, false); if (sss.sheetRegistered(uri, type)) sss.unregisterSheet(uri, type); }, false); gBrowser.reloadTab(tab); } function toggleAutoReload(e) { var tab = e.target.parentNode.triggerNode; var interval = tab.getAttribute(attr); if (interval) { clearInterval(interval); tab.removeAttribute(attr); var btn = tab.reloadButton; btn.parentNode.removeChild(btn); delete tab.reloadButton; } else { interval = setInterval(reload, reloadInterval, tab); tab.setAttribute(attr, interval); var reloadButton = createNode("toolbarbutton", { class: reloadButtonClass, image: reloadButtonIcon, style: reloadButtonStyle }); var tabIconImage = document.getAnonymousElementByAttribute(tab, "class", "tab-icon-image"); tabIconImage.parentNode.insertBefore(reloadButton, tabIconImage); tab.reloadButton = reloadButton; addEventListener("mousedown", onReloadButtonClick, true, tab); } } function onReloadButtonClick(e) { var node = e.originalTarget; if (node.className != reloadButtonClass || e.button) return; e.stopPropagation(); var parent = node.parentNode; if (!parent) return; var tab = parent.parentNode.parentNode; clearInterval(tab.getAttribute(attr)); parent.removeChild(node); tab.removeAttribute(attr); delete tab.reloadButton; removeEventListener("mousedown", onReloadButtonClick, true, tab); } function onTabClose(e) { var tab = e.target; var interval = tab.getAttribute(attr); if (interval) clearInterval(interval); removeEventListener("mousedown", onReloadButtonClick, true, tab); } Array.slice(gBrowser.tabs).forEach(function(tab) { if (tab.reloadButton) addEventListener("mousedown", onReloadButtonClick, true, tab); }); addEventListener("command", toggleAutoReload, false, menuitem); addEventListener("popupshowing", onPopupShowing, false, tabContextMenu); addEventListener("popuphidden", onPopupHidden, false, tabContextMenu); addEventListener("TabClose", onTabClose, false, gBrowser.tabContainer); })(); |
bunda1 > 31-03-2013 23:01:49 |
Супер, что я без тебя делал. Отлично. А то у меня кроме как на FF17 иконка не хотела устанавливаться перед иконкой сайта, а это ни есть хорошо. А про таймер и закрытие таба я и вовсе не подумал, мда. Только если переместить или закрепить вкладку пропадает иконка но это легко исправить: Выделить код Код:// Восстанавливать иконку перезагрузки после перемещения вкладки .... addEventListener('TabMove', function(e) { var aTab = e.originalTarget; if ( aTab.hasAttribute("autoReload") ) .......... }, false, gBrowser.tabContainer ); И код как то блокирует изменение иконки сайта при переходе на другой сайт в кладке, и я не понимаю почему это происходит. Вот если бы кто сделал так, чтобы включенность авто перезагрузки оставалась и после перезагрузки или выключения браузера. Хотя можно запомнить в about:config нужные табы но наверно есть более красивое решение, вот как тут https://github.com/alice0775/userChrome … mod1.uc.js |
Dumby > 01-04-2013 15:29:41 |
bunda1 ОК, вот, вроде немного получше... скрытый текст Выделить код Код:(function() { const reloadInterval = 1 * 60 * 1000; 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", } for (var prop in nodes) n[prop] = document.getAnonymousElementByAttribute(tab, "class", nodes[prop]); 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.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) }); })(); |
bunda1 > 01-04-2013 15:53:45 |
Отлично и вроде все работает Как изменить код если я использую расширение Progress Bar on Tab :: Дополнения Firefox которое добавляет свой индикатор загрузки на вкладке ? |
Dumby > 01-04-2013 19:55:35 |
bunda1 Ага, забрал аддон. Вот так, похоже, помогает. скрытый текст Выделить код Код: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; } |
bunda1 > 02-04-2013 22:25:03 |
Dumby |
Александр Колесников > 03-11-2014 16:32:47 |
bunda1 |
KOMMEHTATOP > 13-10-2015 12:46:13 |
Доброго времени. |
bunda1 > 13-10-2015 14:38:30 |
KOMMEHTATOP пишет
А на пункт Автоматически перезагружать в контекстном меню вкладки нажимал. |
KOMMEHTATOP > 13-10-2015 15:43:39 |
bunda1 пишет
Респект.(я думал что нужно нажимать на кнопку) |
emlen > 17-12-2015 12:42:57 |
У меня после перезапуска браузера пропадает пункт меню... а после входа -выхона в настойки кнопки пункт появляется, ставлю галку - страничка автоматически не перезагружается((( Может можно его как-то под симанку адаптировать? |
emlen > 18-12-2015 11:30:08 |
посоветуйте пожалуйста аналогичное расширение... а - то очень нужен данный функционал, а кнопка не работает( |
shinji2009 > 07-02-2016 11:24:03 |
привет. вот посоветовали мне скриптик для автообновления https://forum.mozilla-russia.org/viewtopic.php?pid=706838#p706838 и у меня не получается его заставить работать после добавления в инициализацию. не появлятся пункт меню вкладки и всё тут. подскажите почему? (а если в код вставить - работает, причём почти как мне надо... ) |
bunda1 > 07-02-2016 13:31:30 |
shinji2009 пишет
Потому что ты установил старую версию от 14.05.2013., во новая: |
sonyas75 > 07-02-2016 13:45:00 |
это я ему дал старый код. премного извиняюсь |
shinji2009 > 07-02-2016 14:48:40 |
неа, тоже не появляется( |
bunda1 > 07-02-2016 14:58:35 |
shinji2009 пишет
Наверно очередной конфликт с другими расширениями или кодами. |
KOMMEHTATOP > 11-02-2016 17:16:48 |
Доброго Времени ! Dumby пишет
То есть старый код срабатывает на ура. bunda1 пишет
1 Открываю две вкладки. |
bunda1 > 11-02-2016 19:06:37 |
KOMMEHTATOP пишет
Я подправил: Автоматически перезагружать вкладку+ |
KOMMEHTATOP > 12-02-2016 09:28:01 |
bunda1 bunda1 пишет
Полет нормальный! |
prefikss > 20-05-2016 11:12:16 |
Вроде работает |
KOMMEHTATOP > 26-09-2020 16:20:37 |
Доброго времени. bunda1 пишет
Может кто подправить под Firefox 81.0 ? |