Ich habe sonst mit dem Add-On 'Tab Reloader' alle Tabs geladen.
Das ist nun vorbei. Vielen Dank für das script. Habe es für mich umgebastelt, so dass es auch einen Menüeintrag im Tabdopdown unterhalb von 'Tab neu laden' anzeigt. Den Button kommentiere ich aus oder schiebe ihn einfach ins 'widget-overflow'.
JavaScript
(function() {
if (!window.gBrowser){
return;
}
// ■■ START UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const bExecuteOnStart = false; //[true] Ausführung des Skripts beim Start zulassen | [false] Nur händische Aktivierung über Button
const buttonIcon = "16synchronization-13neongreen.svg" // Name.Dateiendung des anzuzeigenden Symbols | Name.file extension of the symbol to be displayed
const buttonPath = "/chrome/icons/" // Pfad zum Ordner der das Icon beinhaltet | Path to folder containing the icon
const label = 'Alle Tabs neu laden'
const tooltiptext = 'Alle Tabs neu laden'
// ■■ END UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir))
try {
CustomizableUI.createWidget({
id: 'RelAllTabs',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
let toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
let props = {
id: 'RelAllTabs',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
label: label,
tooltiptext: tooltiptext,
style: "list-style-image: url('" + curProfDir + buttonPath + buttonIcon + "');"
};
for (let p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
} catch(e) { };
//-----menu------------------
const menuitem1 = document.createXULElement('menuitem');
menuitem1.id = 'RelAllTabs-con';
menuitem1.setAttribute('label', label);
// menuitem1.setAttribute('tooltiptext', tooltiptext);
menuitem1.classList.add('menuitem-iconic');
menuitem1.style = "list-style-image: url('" + curProfDir + buttonPath + buttonIcon + "');";
const refItem1 = document.getElementById('context_reloadTab');
refItem1.parentNode.insertBefore(menuitem1, refItem1.nextSibling);
//-----menu------------------
if( bExecuteOnStart ) {
reloadAllTabs(true);
}
document.getElementById('RelAllTabs').addEventListener( "click", onClick ); // button
document.getElementById('RelAllTabs-con').addEventListener( "click", onClick ); // menu
function onClick(aEvent) {
if( aEvent.button == 0 ) {
reloadAllTabs(false);
}
}
function reloadAllTabs(bTwice) {
let tabs = gBrowser.tabContainer.allTabs;
let loadFlags = Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_CACHE | Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_PROXY ;
let nTimeout1 = 0;
let nTimeout2 = 2000;
if(bTwice)
nTimeout1 = 1000;
setTimeout(function() {
for (let nr = 0, count = tabs.length; nr < count; nr++) {
tabs[nr].linkedBrowser.reloadWithFlags(loadFlags);
}
}, nTimeout1);
if(bTwice) {
setTimeout(function() {
for (let nr = 0, count = tabs.length; nr < count; nr++) {
tabs[nr].linkedBrowser.reloadWithFlags(loadFlags);
}
}, nTimeout2);
}
}
})();
Alles anzeigen