zum 1.Mai und wem es gefällt die
LoadingBar.uc.js.
Farben können angepasst werden
vom laubenpieper
zum 1.Mai und wem es gefällt die
LoadingBar.uc.js.
Farben können angepasst werden
vom laubenpieper
Wo hast du den Code versteckt :lol:
oh, der kommt gleich
lp
/* LoadingBar.uc.js */
(function(){
//Location Bar Enhancer5.1;Loading Bar0.3.0
var cssStr = (function(){/*
#urlbar {
background-image: -moz-repeating-linear-gradient(top -45deg, rgba(255,255,255,0), rgba(255,255,255,0) 6px, rgba(255,255,255,1) 6px, rgba(255,255,255,1) 6px), -moz-linear-gradient(left, rgba(0,255,0) 0%, rgba(255,0,0) 100%);
background-size:0 0;
background-repeat:repeat-x, no-repeat;
transition: background-size 350ms ease 0s !important;
}
#urlbar:not([style="background-size: 0% 100%;"]) {
animation: progress-bar-stripes 2s linear infinite;
}
@-moz-keyframes progress-bar-stripes {
from {
background-position: 0, 0;
}
to {
background-position: 51px 0, 0;
}
}
*/}).toString().replace(/^.+\s|.+$/,"");
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");
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
Edit 2002Andreas
Text in Klammercode gesetzt.
Setze das Ganz in die Klammer CODE..
Dann wirds übersichtlicher:
[attachment=0]klammercode.png[/attachment]
Funktioniert perfekt, direkt an meinem Farbdesign angepasst. :klasse:
Gruß
EDV-Oldi
edvoldi
Habe den Script ungeprüft übernommen.
Klär mich bitte mal auf - Funktion ect. :-???
Wenn Du eine neue Seite aufrufst, läuft ein Farbigerbalken in der Loadingbar.
Mehr ist das nicht, aber ein schöner Effekt.
Gruß EDVoldi vom Smartphones
Habe den Script installiert - da läuft nichts in der LoadingBar. :-??? Alles farblich wie immer!
Dafür läuft nur meine Nase!
Hast Du auch den gesamten Code kopiert?
Bei mir hat es sofort funktioniert.
Ja, habe ich - da hatte sich nur eine zusätzliche Zeile "nach oben" eingenistet.
Letzte Zeile gelöscht - Erfolgserlebnis. :klasse:
Für diese kleine (farbliche) Zugabe ist der Script aber mächtig und ziemlich umfangreich!
Nur welchen Sinn hat es denn dieses Script hier zu posten :-??
Das ist schon immer unter dieser Webseite vorhanden gewesen, wo auch alle anderen Scripte liegen:
https://github.com/ardiman/userChrome.js
Script dazu:
https://github.com/ardiman/userCh…oadingBar.uc.js
Andreas, mir gefällt es und anderen scheinbar auch.
Von den 436 Scripten die ich auf Lager habe, da kann man nicht immer wissen ob die schon mal im Bord aufgetaucht sind.
Ist doch auch sicherlich kein Beinbruch.
Viele Grüsse vom Laubenpieper
OT
ich mag es lieber modern als so Kunterbunt
andreas
Da bin dem Mechanismus des Folgens aufgesessen.
Bin einfach zu wenig auf den Github-Seiten - hätte es mit dem Laden einfacher haben können.
Wir haben heute doch nicht den 1. April - oder :-??
Es ist ja tatsächlich nur eine kleine Spielerei.
Mit der aktuellen Nightly funktioniert das Script bei mir nicht. Mit Fx schon.
Es ist ja tatsächlich nur eine kleine Spielerei.
Das sind viele CSS Codes und andere Scripte doch auch. Und jeder soll sich das installieren was er gerne haben/ändern möchte.
Von daher also völlig ok :wink:
Mich hatte das eben nur etwas verwundert, weil es schon ein altes Script ist.
aktuellen Nightly funktioniert das Script bei mir nicht
Das letzte Update liegt auch rund 10 Monate zurück :wink:
Ok 2002Andreas.