auf "https://u6.getuploader.com/script/" landet.
Darauf wollte ich dich schon vor Tagen aufmerksam machen.
Für mich der Beweis, der ausgezeichneten Qualität deiner Scripte. ![]()
![]()
![]()
Vielen Dank für Deine tolle Arbeit.
Mfg.
Endor
auf "https://u6.getuploader.com/script/" landet.
Darauf wollte ich dich schon vor Tagen aufmerksam machen.
Für mich der Beweis, der ausgezeichneten Qualität deiner Scripte. ![]()
![]()
![]()
Vielen Dank für Deine tolle Arbeit.
Mfg.
Endor
Hallo Mitleser .
Vielen Dank.
Funktioniert wieder einwandfrei.![]()
![]()
![]()
Vielen Dank!
Mfg.
Endor
Hallo zusammen.
Seit Firefox 145 funktioniert dieses Script:
/* LoadingBar.uc.js */
// Location Bar Enhancer5.1; Loading Bar 0.3.0
(function(){
var cssStr = `
#urlbar-background {
background-image: repeating-linear-gradient(-45deg, rgba(255,255,255,0), rgba(255,255,255,0) 6px, rgba(255,255,255,1) 6px, rgba(255,255,255,1) 12px), linear-gradient(to right, rgba(255,255,255) 0%, rgba(17,238,238,.7) 100%);
background-size:0 0;
background-repeat:repeat-x, no-repeat;
transition: background-size 350ms ease 0s !important;
border-radius: 18px !important;
}
#urlbar {
border-radius: 18px !important;
border: solid 1px #3399ff;
}
#searchbar {
border-color: #3399ff !important;
}
#urlbar-background:not([style="background-size: 0% 100%;"]) {
animation: progress-bar-stripes 2s linear infinite;
}
@keyframes progress-bar-stripes {
from {
background-position: 0 0;
}
to {
background-position: 51px 0;
}
}
`.replace(/\s{2,}|\r|\n/,"");
var style = document.createProcessingInstruction("xml-stylesheet", "type=\"text/css\"" + " href=\"data:text/css;base64," + btoa(cssStr) + "\"");
var mainW = document.getElementById("main-window");
document.insertBefore(style, mainW);
function main(window) {
var {document, gBrowser} = window;
function $(id) { return document.getElementById(id) };
var urlbar = $("urlbar-background");
let pageProgress = 0;
let async = makeWindowHelpers(window).async;
var LoadingBar = {
listener: {
onChangeTab: function(e) {
urlbar.style.backgroundSize = '0% 100%';
pageProgress = 0;
},
onProgressChange: function(aBrowser,webProgress,request,curSelfProgress,maxSelfProgress,curTotalProgress,maxTotalProgress) {
if (gBrowser.contentDocument === aBrowser.contentDocument) {
var val = (curTotalProgress-1)/(maxTotalProgress-1);
pageProgress = val;
urlbar.style.backgroundSize = (100*val) + '% 100%';
if (val > 0.9)
async(function() {
if (pageProgress > 0.95)
urlbar.style.backgroundSize = '100% 100%';
}, 1000);
}
},
onStateChange: function() {
if (pageProgress > 0.95){
async(function() {
urlbar.style.backgroundSize = '0% 100%';
pageProgress = 0;
}, 1000);
}else{
urlbar.style.backgroundSize = '0% 100%';
}
}
}
};
gBrowser.tabContainer.addEventListener('TabSelect',LoadingBar.listener.onChangeTab,false);
gBrowser.addTabsProgressListener(LoadingBar.listener);
unload(function() {
gBrowser.tabContainer.removeEventListener('TabSelect',LoadingBar.listener.onChangeTab,false);
gBrowser.removeTabsProgressListener(LoadingBar.listener);
}, window);
}
watchWindows(main, "navigator:browser");
function runOnLoad(window, callback, winType) {
window.addEventListener("load", function() {
window.removeEventListener("load", arguments.callee, false);
if (window.document.documentElement.getAttribute("windowtype") == winType)
callback(window);
}, false);
}
function runOnWindows(callback, winType) {
function watcher(window) {
try {
callback(window);
}
catch(ex) {}
}
let browserWindows = Services.wm.getEnumerator(winType);
while (browserWindows.hasMoreElements()) {
let browserWindow = browserWindows.getNext();
if (browserWindow.document.readyState == "complete")
watcher(browserWindow);
else
runOnLoad(browserWindow, watcher, winType);
}
}
function watchWindows(callback, winType) {
function watcher(window) {
try {
callback(window);
}
catch(ex) {}
}
runOnWindows(callback, winType);
function windowWatcher(subject, topic) {
if (topic == "domwindowopened")
runOnLoad(subject, watcher, winType);
}
Services.ww.registerNotification(windowWatcher);
unload(function() { Services.ww.unregisterNotification(windowWatcher) });
}
function unload(callback, container) {
let unloaders = unload.unloaders;
if (unloaders == null)
unloaders = unload.unloaders = [];
if (callback == null) {
unloaders.slice().forEach(function(unloader) { unloader() });
unloaders.length = 0;
return null;
}
if (container != null) {
container.addEventListener("unload", removeUnloader, false);
let origCallback = callback;
callback = function() {
container.removeEventListener("unload", removeUnloader, false);
origCallback();
}
}
function unloader() {
try {
callback();
}
catch(ex) {}
}
unloaders.push(unloader);
function removeUnloader() {
let index = unloaders.indexOf(unloader);
if (index != -1)
unloaders.splice(index, 1);
}
return removeUnloader;
}
function makeWindowHelpers(window) {
let {clearTimeout, setTimeout} = window;
function async(callback, delay) {
delay = delay || 0;
let timer = setTimeout(function() {
stopTimer();
callback();
}, delay);
function stopTimer() {
if (timer == null)
return;
clearTimeout(timer);
timer = null;
}
}
return {
async: async,
};
}
})();
Alles anzeigen
leider nicht mehr.
Es fügt der Adressleiste eine Ladeanimation hinzu.
Habt ihr eine Idee wie man das anpassen muss?
Konsole sagt:
Uncaught TypeError: can't access property "style", urlbar is null
onChangeTab file:///C:/Users/xxxx/AppData/Roaming/Mozilla/Firefox/Profiles/u8c46bd1.Firefox 144/chrome/LoadingBar.uc.js:46
updateCurrentBrowser chrome://browser/content/tabbrowser/tabbrowser.js:1550
_setupEventListeners chrome://browser/content/tabbrowser/tabbrowser.js:7837
set selectedIndex chrome://global/content/elements/tabbox.js:238
set selectedPanel chrome://global/content/elements/tabbox.js:248
set selectedIndex chrome://global/content/elements/tabbox.js:736
set selectedItem chrome://global/content/elements/tabbox.js:760
set selectedTab chrome://global/content/elements/tabbox.js:83
set selectedTab chrome://browser/content/tabbrowser/tabbrowser.js:471
LoadingBar.uc.js:46:13
Alles anzeigen
Uncaught TypeError: can't access property "style", urlbar is null
onStateChange file:///C:/Users/xxxx/AppData/Roaming/Mozilla/Firefox/Profiles/u8c46bd1.Firefox 144/chrome/LoadingBar.uc.js:64
timer file:///C:/Users/xxxx/AppData/Roaming/Mozilla/Firefox/Profiles/u8c46bd1.Firefox 144/chrome/LoadingBar.uc.js:179
LoadingBar.uc.js:64:21
Vielen Dank im Voraus für Eure Hilfe.
Mfg.
Endor
Hallo Mira_Belle .
Auch von mir alles Gute zum Geburtstag!
Viel Gesundheit, Glück und Wohlergehen wünsche ich dir
von ganzem Herzen. Bleib gesund.
Viele Grüße
Endor
funktionierendes Script für die Buttons Minimieren, Maximieren und Schließen?
Stell deines doch mal in einem neuen Thread rein, vielleicht kann man es ja reparieren.
Hallo zusammen. Ich habe oben den link zum Script wieder entfernt. Ich bin der selben Meinung wie BrokenHeart . Das Script würde ich schon aus Sicherheitsgründen nicht verwenden. Daher habe ich den Link entfernt.
Mfg.
Endor
Hallo zusammen.
Der Autor hat bis jetzt keine neue Version angeboten.
Leider.
Habe diese Version der Mehrzeiligen Tableiste gefunden,
sollte bis Firefox 146 kompatibel sein.
Da nicht verwendet oder getestet kann ich auch nichts weiter dazu sagen.
Da das Script zu groß ist hier die Quelle:
Quelle habe ich wieder entfernt .
Könnt ihr ja mal testen ob die überhaupt funktioniert und wenn ja ob das Problem
damit behoben ist. Aber Vorsicht, das Script hat über 7000 Zeilen.
Das wäre mir zu viel. Also Verwendung nur auf eigene Gefahr.
Mfg.
Endor
Hallo Speravir.
readme aktualisiert:
Danke für den Link zum Thema Line Breaks. War sehr hilfreich.![]()
Mfg.
Endor
Hallo Mira_Belle .
Alles gut. Du wolltest mir doch nur helfen.
Alles bestens.
Mfg.
Endor
Hallo Mira_Belle.
Es geht im readme im Moment nur um das Icon für die Symbolleistenschaltfläche.
Trotzdem Danke für Deinen Vorschlag.
Eine Frage hätte ich da, soll ich den readme nur in Deutscher Sprache machen oder auch
in Englisch?
Aktuell siehe hier:
Mfg.
Endor
Speravir
ist aktualisiert:
Hast Du einen Vorschlag für den Readme?
Mfg.
Endor
Hallo Mira_Belle !
Damit das Script extra_config_menu.uc.js richtig funktioniert
muss bei about:config der Schalter:
security.allow_unsafe_dangerous_privileged_evil_eval
auf true sein. Sonst funktioniert es nicht.
Mfg.
Endor
Hallo Mitleser .
Wenn ich mich nicht irre, hatten wir mit Linux das schon mal.
Linux unterscheidet zwischen groß und Kleinschreibung.
Windows nicht. Achte mal darauf ob das, im Script und
bei den Ordnern übereinstimmt.
Nur ein Versuch.
Mfg.
Endor
bei all der Kritik
Die meines Erachtens nicht angebracht war oder ist.
Du hast eine prima Verbesserung gemacht.
Vielen Dank dafür.
![]()
Für mich auch true als Standard.
Mfg.
Endor
Das Script aus Beitrag 138 funktioniert.
Die Version bei Github ist Speravirs Version aus 128.
Die letzte Version von Speravir vom 30.09.2025. Beitrag 138 ist ja dein eigener
Beitrag. Ob die in Linux funktioniert kann ich leider auch nicht sagen, da hier
nur Windows vorhanden ist.
Die vier neuen Einträge:
"prefs.js", "user.js", "userChromeShadow.css" & "userChrome.js"
dafür hat Mira_Belle vorausschauender Weise, bereits im Script ab Zeile 107
entsprechende Optionen, true anzeigen false nicht anzeigen eingefügt.
Nun müsste man nur noch entscheiden was Standard sein soll true oder false?
Was meinst Du dazu?
Mfg.
Endor
Hallo Mira_Belle .
Finde ich prima. Klasse Arbeit!!!!![]()
![]()
![]()
![]()
Nur hier:
let customEditor = "C:\\Program Files\\Microsoft VS Code\\Code.exe";
würde ich nur die Anführungszeichen alleine lassen.
als so:
let customEditor = "";
Du hast da Deinen bevorzugten Editor eingetragen,
das hat mich zuerst etwas verwirrt.
Wenn Speravir einverstanden ist, lade ich diese Version dann bei Github hoch.
Mfg.
Endor
Nur als Info, es gibt eine neue Version vom Script:
SaveTo.uc.js
Eure Anpassungen müsst Ihr noch einfügen.
Mfg.
Endor
Hallo Speravir.
Ist aktualisiert:
Mfg.
Endor