1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. loshombre

Beiträge von loshombre

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 5. Februar 2013 um 20:23

    Habe auch gar keine Zeit dafür, mich damit ernsthaft zu beschäftigen.
    Allerdings wirklich schade, weil zB. das neue Script contextMenuImageRotate.uc.js echt cool ist.

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 5. Februar 2013 um 20:02

    IMO müsste man schon ein Javascript Spezi sein, um seine chrome.js zu verstehen.
    Denn diese ist quasi der Loader. Allerdings so wild verbaut, weil sich innerhalb dieser Datei quasi noch 2 andere Scripte befinden. Für die Scripte im Menü aufzulisten und die chrome.js neu zu laden.
    Und alles irgend wie miteinander verschmolzen.
    Eins seiner früherer Loader war nur ein Bruchteil der Scriptzeilen (inkl. Kommentare). Der tut hier aber bei den neuen Scripten gar nicht mehr.

    Code
    /* :::::::: Sub-Script/Overlay Loader v3.0 ::::::::::::::: */
    
    
    // automatically includes all files ending in .uc.xul and .uc.js from the profile's chrome folder
    
    
    // New Features:
    // supports Greasemonkey-style metadata for userChrome scripts and overlays
    // supports a "main" shortcut for the main browser window in include/exclude lines
    // supports regexes in the include/exclude lines
    // scripts without metadata will run only on the main browser window, for backwards compatibility
    
    
    //if (location.href != "chrome://browser/content/browser.xul") throw "stop";
    
    
    var userChrome = {js: {}};
    
    
    (function() {
      // URL of the main browser window;
      var mainWindowURL = "chrome://browser/content/browser.xul";
    
      var chromeDir = Components.classes["@mozilla.org/file/directory_service;1"]
      .getService(Components.interfaces.nsIProperties)
      .get("UChrm", Components.interfaces.nsILocalFile);
      var files = chromeDir.directoryEntries.QueryInterface(Components.interfaces.nsISimpleEnumerator);
      var filepathhandler = Components.classes["@mozilla.org/network/io-service;1"]
      .getService(Components.interfaces.nsIIOService).getProtocolHandler("file")
      .QueryInterface(Components.interfaces.nsIFileProtocolHandler);
      var istream = Components.classes["@mozilla.org/network/file-input-stream;1"]
      .createInstance(Components.interfaces.nsIFileInputStream);  
    
    
      userChrome.js.scripts = [];
      userChrome.js.overlays = [];
    
      (function loadFiles() {
        if(!files.hasMoreElements()) return;
    
        var file = files.getNext().QueryInterface(Components.interfaces.nsIFile);
        if(/\.uc\.(js|xul)$|^userChrome\.xul$/i.test(file.leafName)) {
          // This code is adapted/simplified from Greasemonkey's scriptdownloader.js and convert2RegExp.js
          var script = {
            filename: file.leafName,
            name: file.leafName,
            namespace: "",
            description: "",
            includes: [],
            excludes: []
          };
    
          // read the file line by line
          var line = {}, foundMeta = false, match = null;
          istream.init(file, 0x01, 0444, 0);
          istream.QueryInterface(Components.interfaces.nsILineInputStream);
          while(istream.readLine(line)) {
            if(!foundMeta && line.value.indexOf("// ==UserScript==") == 0) {
              foundMeta = true;
            }
            else if(foundMeta && (match = line.value.match(/\/\/ \@(\S+)\s+([^\n]+)/))) switch(match[1]) {
              case "name"        : 
              case "namespace"   : 
              case "description" : script[match[1]] = match[2]; break;
              case "include"     : 
              case "exclude"     : script[match[1] + "s"].push(match[2] == "main" ? mainWindowURL : match[2]); break;
            }
            else if(foundMeta && line.value.indexOf("// ==/UserScript==") == 0) {
              break;
            }
          }
          istream.close();
    
          // make scripts without metadata run in the main window
          if(!script.includes.length) script.includes.push(mainWindowURL);
    
          // decide whether to run the script
          var i, run = false, list;
          for(i = 0, list = script.includes; i < list.length; i++) if(checkURL(list[i])) {
            run = true; break;
          }
          for(i = 0, list = script.excludes; i < list.length; i++) if(checkURL(list[i])) {
            run = false; break;
          }
    
          if(run) {
            if(/\.js$/.test(script.filename)) {
              Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
              .getService(Components.interfaces.mozIJSSubScriptLoader)
              .loadSubScript(filepathhandler.getURLSpecFromFile(file));
              userChrome.js.scripts.push(script);
            }
            else {
              document.loadOverlay(filepathhandler.getURLSpecFromFile(file), null);
              userChrome.js.overlays.push(script);
            }
          }
        }
    
        setTimeout(loadFiles, 0);
      })();
    
      // check url for match
      function checkURL(url) {
        return url == "*" || 
        url[0] == "/" && eval(url.replace(/^\/\*/, "\/\/")).test(location.href) ||
        convert2RegExp(url).test(location.href);
      }
    
    
      // Converts a pattern in this programs simple notation to a regular expression.
      // thanks AdBlock! http://www.mozdev.org/source/browse/adblock/adblock/
      function convert2RegExp( pattern ) {
        var s = new String(pattern);
        var res = new String("^");
    
        for (var i = 0 ; i < s.length ; i++) {
          switch(s[i]) {
            case '*' :
              res += ".*";
              break;
            case '.' :
            case '?' :
            case '^' :
            case '$' :
            case '+' :
            case '{' :
            case '[' :
            case '|' :
            case '(' :
            case ')' :
            case ']' :
              res += "\\" + s[i];
              break;
            case '\\' :
              res += "\\\\";
              break;
            case ' ' :
              // Remove spaces from URLs.
              break;
            default :
              res += s[i];
              break;
          }
        }
    
        // fortunately, we don't need .tld in chrome :)
        return new RegExp(res + '$', "i");
      }
    })();
    Alles anzeigen
  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 4. Februar 2013 um 12:41

    Würd ich ehrlich gesagt von abraten.
    Dann gäbe es nämlich 2 userChrome.js und noch mehr Durcheinander als jetzt schon teilweise gibt.

    Was anderes wäre es, wenn man die Alice Datei bis auf das Nötigste runter schrauben könnte, um dann nur mit dieser laden zu können. Bei seiner js blick ich aber überhaupt nicht durch :roll: und habe auch überhaupt keine Zeit, mit damit zu beschäftigen.
    Kamerad Mithrandir wird das wohl ähnlich sehen, um Mal in seinem Namen vorgreifen zu dürfen.

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 4. Februar 2013 um 12:03
    Zitat

    Eben getestet, geht nur mit seiner Monster userchrome.js.

    Schade :? Hätt ich gerne in unsere Sammlung mit aufgenommen.

    Zitat

    Im übrigen ihr werdet auch in Asien beobachtet

    Ist mir bekannt. Und nicht nur dort. Auf mehreren japanischen Seiten /Foren und auch bei den Chinesen (auch schon länger).

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 4. Februar 2013 um 11:13

    Mit CrossFireModoki.uc.js von Griever kann ich hier irgend wie nichts anfangen und das neue Script von Alice will hier nicht laufen. Bekomme beim Test kein Kontextmenü.

  • FF-Fussball Thread

    • loshombre
    • 3. Februar 2013 um 19:35

    Und wenn wir den Elfer nicht verschossen hätten, wäre es 4:2 gewesen. Aber egal. 3 Punkte, Platz 2.

    Nö Hombre, das müssen wir nicht, weil BVB den Meistertitel, im Gegensatz zu den Bayern erst gar nicht holen muss. Kann gerne, aber eben nicht muss. Und genau hier besteht u.a. der große Unterschied.
    Im Pokal mischen wir noch mit, ein toller Vizemeister in der Liga (wenn es so weiter geht) mit ner Direktquali für die CL, in der wir diese Saison auch noch dabei sind.
    Also besser kann es momentan wirklich nicht laufen.

  • FF-Fussball Thread

    • loshombre
    • 3. Februar 2013 um 19:25

    Hab ich schon Mal erwähnt, dass ich ein großer BVB Fan bin ? :mrgreen:

    Apropos Fußball. Wo sind denn hier eigentlich die S0 hastdunichtgesehen Sportkameraden :lol:

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 3. Februar 2013 um 12:04

    Technische Updates, bzw. Modifikationen der Scripte:

    FindbarClearButton.uc.js
    Inspector_de_Info.uc.js
    UndoCloseTabButton.uc.js


    321. Context Link Text // Dieses Script bringt ein kleines Menü "Linktext" in den Hauptkontext, mit dem man den Text eines Links, der nicht extra markiert werden muss, kopieren, über Google suchen und als neue Url (wird anhand des/der Wörter neu kreiert) öffnen kann.

    322. Undo Close Tab Menu // Eine schlanke Alternative zum Script Nr.182. Undo List In Tabmenu Too mit dem man nur im Tabkontext eine Liste der kürzlich geschlossenen Tabs für deren Wiederherstellung bekommt.

  • CSS für VerticalToolbar_mod.uc.js gesucht

    • loshombre
    • 31. Januar 2013 um 20:58

    Mach doch irgend einen Hintergrund darein und gut is.

    background: #F9F8F7

  • CSS für VerticalToolbar_mod.uc.js gesucht

    • loshombre
    • 31. Januar 2013 um 20:40

    In diesem Fall schon. Geht aber mit Sicherheit auch anders. Hab da aber deswegen nicht weiter rum gefummelt, weil es mich einfach nicht stört.

  • CSS für VerticalToolbar_mod.uc.js gesucht

    • loshombre
    • 31. Januar 2013 um 20:15

    Ich hab hier diesen Code am Start:

    CSS
    @-moz-document url(chrome://browser/content/browser.xul) { 
    
    
    #vertical-toolbar {
     width: 30px !important;
     background: #F9F8F7 url("data:image/gif;base64,R0lGODlhHgABAPcAAJmXtZyat52cuJ%2BduaKgu6WjvaimwKuqwrCvxbSzybq5zb28z8PC1MfH183N3NLS4NbW4trb5t%2Ff6uLi7OXl7ujp8evs9O3t9e7v9vDx9%2FHy%2BfP0%2BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAeAAEABwgjADcI1JABwwULFShMkBABwgMHDRgsUJAAwQEDBQgMEBAAQEAAOw%3D%3D") repeat-y !important;
    border: none !important;}
    #vertical-toolbar:not(:hover) { 
     margin-left: -29.5px !important; 
    -moz-transition: margin-left 0.5s 200ms !important;}
    #vertical-toolbar:hover { 
     margin-left: 0px!important; 
    -moz-transition: margin-left 0.5s 200ms !important;}
    }
    Alles anzeigen
  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 30. Januar 2013 um 20:47

    Bis vor kurzem schon seltsam, warum es bei mir zB. problemlos auch ohne diesen Hack klappt.
    Jetzt kann ich es mir aber vielleicht erklären. Bei meinen Anwendungen hab ich extra stehen: "JScript Datei" und "XUL Datei" und beide hab ich auf "Datei speichern" stehen. Scheint aber, zumindest hier beim Download Latte zu sein, weil auch bei "Jedes Mal nachfragen" klappt es einwandfrei.

    In einem frischen Profil gibt es diese Einträge logischerweise nicht und somit (denk ich) wird aus dem Script Download eine Textdatei.

    Hombre Endor hat schon ein Script diesbezüglich getestet und vorgeschlagen, mit dem es auch fehlerfrei funktioniert.
    Man könnte u.a. auch dafür das Script SaveSelection.uc.js benutzen. Funktioniert hier beim Test damit auch einwandfrei, wenn man des ausgewählten Text damit kopiert.

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 29. Januar 2013 um 22:39

    Hombre, wie bist du denn dadrauf gekommen ?

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 29. Januar 2013 um 21:57

    317. WebScreenShot Button
    318. Tab Open in Sidebar Menu Plus
    319. Copy Feed URL

    Beschreibung siehe oben / Auflistung am Threadanfang / auf Github.

    320. Auto Popupable Patch // Dieses Script funktioniert nur in Verbindung mit dem Script Nr.29. Auto Popup und öffnet automatisch das Stylemenü Popup am Stylish Button.

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 29. Januar 2013 um 10:44

    Hombre, da haben wir damals schon versucht, den Fuchs JS -und CSS- mäßig mächtig zu verbiegen, was uns auch das eine, oder andere Mal auch gut gelang :)
    Da waren ja auch noch paar richtige Kameraden dabei, die es aktuell leider nicht mehr gibt :(

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 28. Januar 2013 um 22:32

    Jo Hombre, dat waren noch Zeiten :( (Guck mal aufs Thread Datum).

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 27. Januar 2013 um 22:56

    Dann kann ich euch leider nicht helfen, denn egal wie ich so n Moped von Github ansauge, kommt es immer korrekt auf die schwarze Kugel an.

    Zitat

    Das meinst du doch wohl nicht im Ernst?

    Und wie ich das ernst meine.

    Zitat

    Dann frage ich dich, wozu dieses ganze Schrauberforum.

    Da ich dieses Forum nicht auf die Beine gestellt habe, kann ich es dir auch nicht beantworten.

    Zitat

    Nimm hin wie Firefox ist und basta!

    Jo, mach ich.

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 27. Januar 2013 um 21:59

    Hier für Ungläubige unter XP:

    [Blockierte Grafik: http://i.imagebanana.com/img/81y36zw2/Zwischenablage02.jpg]

    Und genau so wird das Script auf die Platte abgelegt! Egal, ob über Kontext, oder per Hotkeys.

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 27. Januar 2013 um 20:21
    Zitat von milupo

    Bei js-Skripten wird dafür beim Abspeichern die Endung .txt drangehängt.

    Quatsch!

    Zitat von milupo

    Warum ist denn in der UserChrome.js eigentlich nicht userChrome.import("*", "UChrm"); bereits als aktive Zeile eingetragen? Es ist doch wohl so, dass ich sie auf jeden Fall brauche.

    Früher gabst die Zeile nicht und damit hätte es damals auch nie geklappt, ein Script einzubinden. Erst nach einem Addon Update (Nummer k.A.) konnte man es mit dem Einzeiler für alle Scripte (*xul und *js) schaffen.
    Um das alles damals bewerkstelligen zu können, musste man ein Extra "Sub-Script/Overlay Loader" Script inne haben. Und da ja dieses Script immer noch gibt und es auch immer noch funktioniert, ist der heute Einzeiler halt nicht zwingend nötig.

    Ansonsten habt ihr wohl alle eine an ner Pfanne! Wir sind hier nicht bei "Wünsch dir wat"! Sondern bei "Nimm und wenns dir nicht gefällt, dann pack schnell wieder ein".

  • userChrome.js Scripte für den Fuchs (Zusammenstellung)

    • loshombre
    • 27. Januar 2013 um 15:55
    Zitat von Endor

    Mit links-klick kommt das selbe wie bei Dir, weil Firefox das anzeigen
    von xul Scripten nicht mehr unterstützt.

    Und das nicht erst seit gestern, sondern schon eine gaaaanze Weile!

Unterstütze uns!

Jährlich (2025)

92,9 %

92,9% (604,17 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon