milupo: Ich hatte bereits angemerkt, das ich in dem Post den gleichen Code 2x eingefügt hatte, mein Fehler... :oops:
Ja, da sind 4 Minuten dazwischen.
milupo: Ich hatte bereits angemerkt, das ich in dem Post den gleichen Code 2x eingefügt hatte, mein Fehler... :oops:
Ja, da sind 4 Minuten dazwischen.
Erscheint der CSS-Button wieder mit einer Extrabeschriftung und ist zudem nicht funktionsfähig, bei Klick drauf passiert nichts..
Du hast entweder noch browser.xul im Usercssloader-Skript und müsstest das in browser.xhtml ändern oder lösche die beiden ersten Zeilen mit @namespace bzw. @-moz-document. Da hat sich das mit der browser.xhtml erledigt.
nein ich bearbeite BEIDE Scripts...
Wir müssen aber wissen,was du willst und gerade tust. Du schreibst von extra-config-menu.uc.js und erwähnst Zeile 20, die in einem anderen Skript ist. Was soll das? Bleib erst einmal bei einer Sache. Wenn du keine Hilfe brauchst, kannst du gerne parallel arbeiten, aber wenn du von uns Hilfe brauchst, mische bitte nichts. Du kannst gerne gesonderte Beiträge schreiben, aber nicht beides in einem Beitrag mischen und dann noch so verknüpfen, dass es nicht zusammenpasst.
Was soll das Boersenfeger? Wir reden von extra-config-menu.uc.js und du machst die dafür gedachten Änderungen in einem anderen Skript.
Gibt es gar nicht im Skript. Woher hast du diese Zeile?
Äh, ich muss mich revidieren. Durch warpmenuto wird der Ort des Symbols festgeschrieben. Da kann man nicht verschieben.
Ich hatte es auch mit addonbar versucht
Beides gibt es schon seit Ewigkeiten nicht mehr, also auch nicht diese IDs. Schaue in die entsprechenden Skripte. Für die Leiste oben kannst du 'fp-statusbar-2' verwenden, für die Leiste unten 'new-toolbar'. Aber beides ist unnötig. Du willst das Symbol auf einer Leiste und nicht hinter einem Element der GUI ablegen? Da brauchst du doch das Symbol nur auf die entsprechende Leiste schieben.
Bei diesem Script läuft ein Balken in der Url Bar von rechts nach links und dann wieder zurück, in der Zeit wo die Seite geladen wird.
Dieser Balken ist ab der Version 68.0bx nicht mehr zu sehen.
Also das funktioniert wirklich nicht. Ich kann dir aber etwas anderes anbieten, da bewegt sich ein orangener Balken, aber nicht in der Adressleiste, sondern außerhalb.
// ==UserScript==
// @include main
// @version 0.3.3
// @note [20141128]兼容E10S
// @note [20150206]添加connecting动画
// @note [20150404]尝试改善某些情况下的CPU占用
// @note [20150711]更新CSS linear-gradient(),radial-gradient()标准语法(nightly 150710)。
// ==/UserScript==
location == "chrome://browser/content/browser.xhtml" && (function () {
//Location Bar Enhancer5.1;Loading Bar0.3.0
var loadingBar = {
progress: new WeakMap(),
init: function () {
if(document.getElementById('UCloadingBar')) return;
var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
sss.loadAndRegisterSheet(Services.io.newURI('data:text/css;base64,' + btoa((function () {/*
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
@-moz-document url("chrome://browser/content/browser.xhtml"){
@keyframes UCloadingBarPulse {
0% {opacity:1}
50% {opacity:0}
100% {opacity:1}
}
@keyframes loadingBarConnecting {
0% {transform: translateX(300%)}
100% {transform: translateX(-300%)}
}
#UCloadingBar, #UCloadingBar[connecting]::after{
background-size: 100% 5px;
background-repeat: repeat-x;
height: 10px;
}
#UCloadingBar{
position: fixed;
pointer-events:none;
border-left:2px transparent;
border-right:2px transparent;
overflow: hidden;
opacity:1;
transform: translateX(-100%);
background-image:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.25) 25%, rgba(254,178,53,1) 100%);
width:100%;
}
#UCloadingBar:not([style*="translateX(-100%)"]){
transition: transform 800ms ease 0s;
}
#UCloadingBar:not([connecting])::after {
display:none;
}
#UCloadingBar[connecting]::after {
content:'';
animation: loadingBarConnecting 2500ms infinite linear;
background-image: radial-gradient(ellipse farthest-corner at center top, rgba(254,178,53, 1) 25%, rgba(255,255,255,0.25) 100%);
width: 30%;
position: absolute;
}
#UCloadingBar[connecting]{
background-image:none;
}
#UCloadingBar[complete]{
opacity:0;
}
#UCloadingBar[complete][style*="translateX(0%)"]{
transition: opacity 800ms ease 100ms;
}
#UCloadingBar[style]:not([connecting]):not([complete])::before{
content:'';
position: absolute;
top:-10px;
right: 0px;
width: 100px;
height: 100%;
box-shadow: 0px 0px 10px 3px rgba(254,178,53,1), 0px 0px 5px 2px rgba(254,178,53,1);
transform: rotate(3deg) translate(0px, -4px);
animation:UCloadingBarPulse 2s ease-out 0s infinite;
}
}
*/}).toString().replace(/^.+\s|.+$|\t+\/\/.*/g, '')), null, null), sss.USER_SHEET);
var appcontent = document.getElementById('appcontent'),
lb = document.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'hbox');
lb.id = 'UCloadingBar';
appcontent.insertBefore(lb, appcontent.firstChild);
this.progressBar = lb;
gBrowser.tabContainer.addEventListener('TabSelect', this, false);
gBrowser.addTabsProgressListener(this);
},
setConnecting: function(connecting){
if(connecting){
this.progressBar.hasAttribute('connecting') || this.progressBar.setAttribute('connecting', 'true');
}else{
this.progressBar.hasAttribute('connecting') && this.progressBar.removeAttribute('connecting');
}
},
setComplete: function(complete){
if(complete){
this.progressBar.hasAttribute('complete') || this.progressBar.setAttribute('complete', 'true');
}else{
this.progressBar.hasAttribute('complete') && this.progressBar.removeAttribute('complete');
}
return complete;
},
handleEvent: function (e) {
if (e.type == 'TabSelect') {
this.onChangeTab();
}
},
onChangeTab: function () {
var cd = gBrowser.selectedBrowser,
val = this.progress.get(cd);
if (!val) {
val = [0, false];
newTab = true;
this.progress.set(cd, val);
}
if(!this.progressBar) return;
this.setConnecting(val[1]);
this.progressBar.style.transition = 'none';
if (val[0] > 0.95) {
if(!this.setComplete(val[0] == 1)){
this.progressBar.style.transform = 'translateX(0%)';
}
}else{
this.setComplete(false);
this.progressBar.style.transform = 'translateX('+((!val[0] && val[1] ? 1 : val[0]) * 100 - 100) + '%)';
}
setTimeout(function(){
this.progressBar.style.transition = '';
}.bind(this), 50);
},
onProgressChange: function (aBrowser, webProgress, request, curSelfProgress, maxSelfProgress, curTotalProgress, maxTotalProgress) {
var val = (curTotalProgress - 1) / (maxTotalProgress - 1);
if (!/^((ht|f)tps?\:|about:blank)/.test((aBrowser.registeredOpenURI || {asciiSpec: 'about:blank'}).asciiSpec)){
return this.progress.set(aBrowser, [val, false]);
}
this.progress.set(aBrowser, [val, false]);
if (this.progressBar && gBrowser.selectedBrowser === aBrowser) {
this.setConnecting(false);
if (val > 0.95) {
this.progressBar.style.transform = 'translateX(0%)';
}else{
this.progressBar.style.transform = 'translateX('+((val * 100) - 100) + '%)';
}
}
},
onStateChange: function (aBrowser, aWebProgress, aRequest, aStateFlags, aStatus) {
var val = this.progress.get(aBrowser),
isCBrowser = gBrowser.selectedBrowser === aBrowser;
if(!val){
val = [0, false];
this.progress.set(aBrowser, val);
}
if (aStateFlags & 1 && aStateFlags & 262144){
if (!(aStateFlags & 16777216)){
val = [0, /^((ht|f)tps?\:|about:blank)/.test((aBrowser.registeredOpenURI || {asciiSpec: 'about:blank'}).asciiSpec)];
if(isCBrowser) {
this.progressBar.style.transform = 'translateX(0%)';
val[1] && this.setComplete(false);
this.setConnecting(val[1]);
}
this.progress.set(aBrowser, val);
}
}else if(aStateFlags & 16){
if(isCBrowser) {
this.timer(function(){
this.progress.get(aBrowser)[0] == 1 && this.setComplete(true);
}.bind(this), 1000);
this.setConnecting(false);
}
this.progress.set(aBrowser, [1, false]);
}
},
timer: function (callback, delay) {
delay = delay || 0;
var stopTimer = function (){
if (this._timer == null) return;
clearTimeout(this._timer);
this._timer = null;
}.bind(this);
this._timer = setTimeout(function(){
stopTimer();
callback();
}, delay);
}
};
loadingBar.init();
})();
Alles anzeigen
Das Skript ist bereits an Fx 69 angepasst.
edvoldi: Noch mal meine Frage, gibt es für das Loadingbar-Skript eine CSS-Datei?
Gibt es bereits schon Hinweise für den Wetterfuchs?
Hast du denn schon die nötigen Änderungen gemacht, alos createElement in createXULElement und browser.xul in browser.xhtml?
Eine kleine Frage habe ich noch: Es gibt noch mehr Scripte mit Einträgen "createElementNS" - bleiben die auch weiterhin in den Scripten?![]()
Ja, diese Einträge bitte nicht verändern, nur die ohne das "NS" hinten dran.
Dieser Balken ist ab der Version 68.0bx nicht mehr zu sehen.
Also hängt es nicht ursprünglich mit Firefox 69 zusammen. Gibt es eine CSS-Datei dazu?
Dieser Balken ist ab der Version 68.0bx nicht mehr zu sehen.
Also hängt es nicht ursprünglich mit Firefox 69 zusammen.
Und was genau funktioniert nicht?
Sorry Milupo,elt.
Kein Problem.
Hallo,
habe eine generelle Frage, welche Anleitung zum Platzieren der 3 Dateien im FF- Installationsordner ist maßgebende? Und wo finde ich diese Dateien mit richtigem Inhalt?
Offensichtlich gibt es 2 Verfahren eins mit userChromeJS-Ordner und eins ohne diese aber mit der gleichnamigen Datei.
Wir verwenden nur noch das Verfahren mit dem userChromeJS-Ordner. Richte dich am besten nach dieser Beschreibung:
https://github.com/Endor8/userChr…ster/userChrome
Da hast du dann auch die zip-Datei für den Download.
milupo, jetzt passt`s. Danke für deine Geduld.
Bitte, gern geschehen.
Also Barbara, du musst schon etwas mehr bieten. Warum kopierst du denn nicht den kompletten Code zwischen code und /code? Ist das überhaupt ein Skript oder eine CSS-Datei? Was ist das Problem genau?
Sollte diese sein:
Kontrolliere das Skript nochmal. Hast du createXULElement richtig geschrieben?
Edit: Welchen Wert hast du der Variable warpmenuto zugewiesen?
Dann aber nicht vergessen..am Ende vom Code jeweils die letzte } noch zu entfernen
Oha, ja, danke für den Hinweis.