Ich weiß es nicht; ich sehe jedenfalls nicht, wie.
Tab sperren
-
mack -
22. Januar 2018 um 17:13 -
Erledigt
-
-
ich verwende dein 1. gepostetes Skript.
Eine Markierung eines gesperrten Tabs lässt sicht nicht einbauen?Ist jetzt eingebaut, funktioniert aber noch nicht ganz. Beim Anheften, Ablösen und Verschieben bleibt zwar die Sperre bestehen, die Markierung aber nicht. Die Markierung ist ein rotes Quadrat, man kann natürlich auch eine andere Grafik nehmen.
Code
Alles anzeigen(function() { if (location != 'chrome://browser/content/browser.xul') return; let tabContextMenu = document.getElementById('tabContextMenu'); let lockItem = document.createElement('menuitem'); lockItem.id = 'context_lockTab'; lockItem.setAttribute('label', 'Tab sperren'); lockItem.setAttribute('oncommand', ' \ let tab = TabContextMenu.contextTab; \ tab.locked = true; \ let image = document.createElement("image"); \ image.setAttribute("anonid", "locked-icon"); \ image.setAttribute("src", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKBAMAAAB/HNKOAAAABGdBTUEAALGPC/xhBQAAADBQTFRFAAAAgAAAAIAAgIAAAACAgACAAICAgICAwMDA/wAAAP8A//8AAAD//wD/AP//////ex+xxAAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAA5JREFUGNNjmAkCDGSRAIDlHeNaYTFnAAAAAElFTkSuQmCC"); \ let closeButton = document.getAnonymousElementByAttribute(tab, "anonid", "close-button"); \ closeButton.parentNode.appendChild(image); \ '); let refItem = document.getElementById('context_pinTab'); tabContextMenu.insertBefore(lockItem, refItem); let unlockItem = document.createElement('menuitem'); unlockItem.id = 'context_unlockTab'; unlockItem.setAttribute('label', 'Tab entsperren'); unlockItem.setAttribute('oncommand', ' \ let tab = TabContextMenu.contextTab; \ tab.locked = false; \ let image = document.getAnonymousElementByAttribute(tab, "anonid", "locked-icon"); \ if (image) \ image.parentNode.removeChild(image); \ '); tabContextMenu.insertBefore(unlockItem, refItem); tabContextMenu.addEventListener('popupshowing', function(event) { if (event.target == this) { let locked = TabContextMenu.contextTab.locked; lockItem.hidden = locked; unlockItem.hidden = !locked; }; }); eval('gBrowser.removeTab = ' + gBrowser.removeTab.toString().replace('(aTab, aParams) {', '$& if (aTab.locked) return;') ); })();
-
Herzlichen Dank!! :klasse:
-
Hallo,
ich muss mal eine Frage loswerden.
Ist es nicht vermeidbar das ein gesperrtes Tab nach dem FF-Neustart (mit / ohne Cache-Bereinigung) 1) die rote Markierung verliert und 2) im Menü wieder "Tab sperren" steht?Gruß
Horst -
Das ist leider nicht vermeidbar.
-