userChrome.js

  • Hallo Firefoxfreunde,

    habe eine schön übersichtliche Seite mit Skripten für die userchrome.js entdeckt:
    http://www.xuldev.org/blog/?cat=9
    und kann jetzt damit: [userChrome.js] Color Tab per Tab-Kontextmenü beliebige Tabs einfärben.
    (Schön wäre natürlich noch, Tabs unterschiedlich farbig unterlegen zu können, aber nicht wie beim Script [userChrome.js] Colorful Tabs, es färbt einfach willkürlich alle Tabs unterschiedlich.)

    loshombre: habe immer noch Version 0.7; weißt Du inzwischen, was mit userchrome.js 0.8 nicht stimmt?

    Gruß gammaburst

  • Nein Hombre. Muss aber dazu sagen, dass ich mich seit dieser Zeit nicht richtig drum gekümmert habe und den MZ-Thread nicht besucht habe. Vielleicht sollte man inzwischen wieder n Blick rein werfen. Fahre hier auch nach wie vor mit 0.7
    Sehr schöne Sammlung. Gleich mal in die LZs mit aufnehmen.

  • Hab das hier noch mal durchgespielt. Habe, wie vom Schrauber geschrieben,

    Code
    if (location != "chrome://browser/content/browser.xul") throw "stop";

    oben in die chrome.js rein gehämmert, die 0.8 in den Fuchs geschoben und es gehen hier immer noch nicht alle Scripte. ZB. die Scriptreihenfolge im GM.

    http://forums.mozillazine.org/viewtopic.php?t=556229

  • Hallo,

    jetzt habe ich es auch gewagt und mittels dieser genialen Erweiterung einige (6) andere Erweiterungen ersetzt.

    Nachdem Dr. Evil unter Einige Ankreuzfelder im Sanitize-Dial. deaktivieren (Klick mich) ein Skript vorgeschlagen hat, das ich schon damals (testweise) nicht zum Laufen gebracht habe, wollte ich hier noch einmal anfragen: Läuft das Skript bei euch? Wenn nein, hat jemand noch eine Idee, wie man mein Anliegen umsetzen könnte?


    loshombre: Zu deinem Problem - vielleicht sind die Hinweise unter http://forums.mozillazine.org/viewtopic.php?p=2916812#2916812 auch wichtig (s. auch rote Markierung):

    Zitat

    To replace WindowHook, you can now replace

    Code
    WindowHook.register(url, function_to_call);


    with placing the following line above the throw "stop"; line from above

    Code
    if (location == url) function_to_call(window);

    Ich kann damit aber zur Zeit noch nicht viel anfangen.

  • Arrghl - mein Problem hat sich erledigt. Mit einer anderen chrome-Adresse funktioniert's (es geht um das Fenster, welches mit CTRL+SHIFT+DEL geöffnet wird. Dr. Evils Code war für die Einstellungen, die man unter Datenschutz vornehmen kann):

    Code
    WindowHook.register("chrome://browser/content/sanitize.xul", function(aWindow) {
      with(aWindow) {
        document.getElementsByAttribute("preference", "privacy.item.history")[0].disabled = true;
        document.getElementsByAttribute("preference", "privacy.item.formdata")[0].disabled = true;
        document.getElementsByAttribute("preference", "privacy.item.cookies")[0].disabled = true;
      }
    });

    Damit werden ausgewählte Items deaktiviert.

  • Hi,

    da ich die <a href="data:application/x-javascript;base64,ZnVuY3Rpb24gQ2xvY2soKSB7DQogICAgdmFyIGRheXMgPSBbIlNvIiwiTW8iLCAiRGkiLCAiTWkiLCAiRG8iLCAiRnIiLCAiU2EiXTsNCiAgICB2YXIgbW9udGhzID0gWyIwMSIsICIwMiIsICIwMyIsICIwNCIsICIwNSIsICIwNiIsICIwNyIsICIwOCIsICIwOSIsICIxMCIsICIxMSIsICIxMiJdOw0KICAgIHZhciBEID0gbmV3IERhdGUoKTsNCiAgICB2YXIgZGF5ID0gZGF5c1tELmdldERheSgpXTsNCiAgICB2YXIgbW9udGggPSBtb250aHNbRC5nZXRNb250aCgpXTsNCiAgICB2YXIgeWVhciA9IEQuZ2V0RnVsbFllYXIoKTsNCiAgICB2YXIgaG91cnMgPSBELmdldEhvdXJzKCk7DQogICAgdmFyIG1pbiA9IEQuZ2V0TWludXRlcygpOw0KICAgIHZhciBUaW1lID0gKChob3VycyA8IDEwKSA%2FICIwIiA6ICIiKSArIGhvdXJzOw0KICAgIFRpbWUgKz0gKChtaW4gPCAxMCkgPyAiOjAiIDogIjoiKSArIG1pbjsNCiAgICBUaW1lICs9ICIgVWhyIjsNCiAgICB2YXIgZGF0ZSA9IGRheSArICIsICIgKyBELmdldERhdGUoKSArICIuIisgbW9udGggKyAiLiIgKyB5ZWFyOw0KICAgIHZhciB0aW1lc3RyID0gZGF0ZSArICIgLSAiICsgVGltZTsNCiAgICB2YXIgc3RhdHVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXR1c2Jhci1jbG9jay1kaXNwbGF5Iik7DQogICAgc3RhdHVzLnNldEF0dHJpYnV0ZSgidmFsdWUiLCB0aW1lc3RyKTsNCiAgICBzZXRUaW1lb3V0KCJDbG9jaygpIiwgNjAwMDApOw0KICB9DQoNCnZhciBDbG9ja1N0YXR1cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJnbS1zdGF0dXMiKTsNCnZhciBDbG9ja0xhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsNCkNsb2NrTGFiZWwuc2V0QXR0cmlidXRlKCJpZCIsICJzdGF0dXNiYXItY2xvY2stZGlzcGxheSIpOw0KQ2xvY2tMYWJlbC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgInN0YXR1c2JhcnBhbmVsLXRleHQiKTsNCkNsb2NrTGFiZWwuc2V0QXR0cmlidXRlKCJzdHlsZSIsICJwYWRkaW5nLXRvcDogM3B4OyIpOw0KQ2xvY2tTdGF0dXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoQ2xvY2tMYWJlbCwgQ2xvY2tTdGF0dXMubmV4dFNpYmxpbmcpOw0KDQpDbG9jaygpOw%3D%3D">Statusbar-Clock</a> mit einem 1minütigen Timeout einsetze, wüsste ich gern, wie man es hinbekommt, dass die Uhr immer zur "vollen" Minute umschaltet. Zur Zeit ist es so, dass nach Browserstart um 19:56:17, "19:57" 17 Sekunden zu spät angezeigt wird.

    Habt ihr dazu eine Idee? Kann man hier

    Code
    setTimeout("Clock()", 60000);

    vielleicht eine Berechnung anstellen und 60000 damit ersetzen? Dann bekomme ich das bestimmt hin. :D

    [Edit] Sorry, klappt tatsächlich. Vielleicht kann das ja jemand von euch gebrauchen:

    [/Edit]

  • Ich glaube, dass

    Zitat von gammaburst

    (obwohl ich bei Foxclocks die Möglichkeit gut finde, Zeit und Datum je nach Tages- oder Nachtzeit :P in unterschiedlichen Farben darstellen zu können).

    unter http://www.firefox-browser.de/forum/viewtopi…p=336170#336170 noch nicht beantwortet wurde.

    Zumindest für die Statusbar (getElementById und insertBefore am Ende geändert - damit sollte die Uhr immer rechtsbündig sein - Vorteil: man braucht die Id des zuvor ganz rechts befindlichen Items nicht mehr!) funktioniert die variable Farbgebung bei mir so (beim Testen die Timeout-Zeile beachten!): <a href="data:application/x-javascript;base64,ZnVuY3Rpb24gQ2xvY2soKSB7DQogICAgdmFyIGRheXMgPSBbIlNvIiwiTW8iLCAiRGkiLCAiTWkiLCAiRG8iLCAiRnIiLCAiU2EiXTsNCiAgICB2YXIgbW9udGhzID0gWyIwMSIsICIwMiIsICIwMyIsICIwNCIsICIwNSIsICIwNiIsICIwNyIsICIwOCIsICIwOSIsICIxMCIsICIxMSIsICIxMiJdOw0KICAgIHZhciBEID0gbmV3IERhdGUoKTsNCiAgICB2YXIgZGF5ID0gZGF5c1tELmdldERheSgpXTsNCiAgICB2YXIgbW9udGggPSBtb250aHNbRC5nZXRNb250aCgpXTsNCiAgICB2YXIgeWVhciA9IEQuZ2V0RnVsbFllYXIoKTsNCiAgICB2YXIgaG91cnMgPSBELmdldEhvdXJzKCk7DQogICAgdmFyIG1pbiA9IEQuZ2V0TWludXRlcygpOw0KICAgIHZhciBzZWMgPSBELmdldFNlY29uZHMoKTsgDQogICAgdmFyIFRpbWUgPSAoKGhvdXJzIDwgMTApID8gIjAiIDogIiIpICsgaG91cnM7DQogICAgVGltZSArPSAoKG1pbiA8IDEwKSA%2FICI6MCIgOiAiOiIpICsgbWluOw0KICAgIFRpbWUgKz0gIiBVaHIiOw0KICAgIHZhciBkYXRlID0gZGF5ICsgIiwgIiArIEQuZ2V0RGF0ZSgpICsgIi4iKyBtb250aCArICIuIiArIHllYXI7DQogICAgdmFyIHRpbWVzdHIgPSBkYXRlICsgIiAtICIgKyBUaW1lOw0KICAgIHZhciBzdGF0dXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhdHVzYmFyLWNsb2NrLWRpc3BsYXkiKTsNCiAgICBzdGF0dXMuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIHRpbWVzdHIpOw0KICAgIHZhciBjbG9ja3N0eWxlID0gInBhZGRpbmctdG9wOiAycHg7Ig0KICAgIGlmIChob3VycyA8IDYgfHwgaG91cnMgPiAyMikgew0KICAgICAgY2xvY2tzdHlsZSArPSAiY29sb3I6ICNmZjAwMDA7IjsNCiAgICAgIH0NCiAgICAgZWxzZSB7DQogICAgICAgY2xvY2tzdHlsZSArPSAiY29sb3I6ICMwMDAwMDA7IjsNCiAgICAgfQ0KICAgICBzdGF0dXMuc2V0QXR0cmlidXRlKCJzdHlsZSIsIGNsb2Nrc3R5bGUpOw0KICAgICAvLyBUaW1lb3V0IHZhcmlhYmVsIC0gZGFtaXQgVW1zY2hhbHRlbiB6dXIgdm9sbGVuIE1pbnV0ZToNCiAgICAgc2V0VGltZW91dCgiQ2xvY2soKSIsICg2MC0gc2VjKSoxMDAwKTsNCiAgfQ0KDQovLyBsZXR6dGVzIEtpbmRlbGVtZW50IGRlciBTdGF0dXNiYXIgZmluZGVuDQp2YXIgQ2xvY2tTdGF0dXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhdHVzLWJhciIpLmxhc3RDaGlsZDsNCnZhciBDbG9ja0xhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsNCkNsb2NrTGFiZWwuc2V0QXR0cmlidXRlKCJpZCIsICJzdGF0dXNiYXItY2xvY2stZGlzcGxheSIpOw0KQ2xvY2tMYWJlbC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgInN0YXR1c2JhcnBhbmVsLXRleHQiKTsNCi8vICp2b3IqIGRlbSBsZXR6dGVuIEtpbmRlbGVtZW50IChzLm8uKSBlaW5mdWVnZW4gLSBkYW1pdCBpc3QgVWhyIGltbWVyIGdhbnogcmVjaHRzOg0KQ2xvY2tTdGF0dXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoQ2xvY2tMYWJlbCwgQ2xvY2tTdGF0dXMucHJldmlvdXNTaWJsaW5nKTsNCkNsb2NrKCk7">Klick mich</a>.

  • Hi,

    ich hoffe ich bin hier richtig ;)

    ich suche eine Möglichkeit bei einem Forum die target="_blank"-Attribute zu entfernen
    oder wenigstens in target="_self" zu ändern

    Test-Forum: http://ww3.cad.de/cgi-bin/ubb/fo…orum&number=392

    dabei soll das Script wirklich Seitenabhängig arbeiten, also hier nur auf http://ww3.cad.de/cgi-bin/ubb/forumdisplay.cgi*

    für Greasemonkey hab ich glaube hier was ähnliches gefunden
    http://www.ardiman.de/assets/files/f…leblank.user.js
    http://userjs.org/scripts/downlo…veblank.user.js
    http://userscripts.org/scripts/review/3437
    http://userscripts.org/scripts/review/1092
    http://userscripts.org/scripts/review/1691

    ich würde das ganze aber liebend gerne ohne GM, aber vllt. mit einem userChrome.js-Eintrag realisieren können.

    Als Erweiterung habe ich zwar TargetKiller gefunden, würde aber für dieses eine Forum gern auf eine zusätzliche Erweiterung verzichten wollen ;)

    [Blockierte Grafik: http://img3.imagebanana.com/img/cf9z9m6u/thumb/TargetKiller.gif] oder [Blockierte Grafik: http://files.fastpic.de/thumbs/TNTargetKiller_11322.gif]

    Jemand ne Idee wie sich sowas erledigen lassen könnte?

    Danke schon mal

    Gruß
    Wawuschel

    2 Mal editiert, zuletzt von Anonymous (1. Februar 2008 um 18:42)

  • da kaum bekannt, hier nochmal ein schönes Script:

    Screenshot hier

  • Moin Leute, ich hab mal ne Frage zu dem userchrome.js-Uhrschnipsel für die Titelleiste:


    Ist ein wenig erweitert, um mein Profil mit anzeigen zu lassen.

    In der Titelleiste werden damit der Reihe nach drei Variablen angezeigt:
    - Profil: zeigt meinen Profilnamen
    - Uhr
    - title: zeigt den eigentlichen Tabnamen

    Worum es mir nun geht: Wer es benutzt, kennt es bestimmt: Die Titelleiste bleibt nicht statisch. Und zwar in genau zwei Fällen:

    1. Tab wird neu geladen: Erst bei fertig geladenem Tab werden Uhr und Profilname wieder angezeigt. Vorher springt er in der Titelleiste zwischen "Profil + Uhr + title" und nur "title" hin und her.
    2. Tabwechsel: Wechsele ich den Tab, zeigt er im neuen Tab zuerst nur "title" an, "merkt" dann aber: ups, da muss noch mehr angezeigt werden. Ca. 0,5 sec später zeigt er dann wieder "Profil + Uhr + title".

    Habt ihr ne Idee, wie man das statisch machen kann, dass er also immer Profil + Uhr + title anzeigt?


  • Mach mal das Timeout ( rot markiert) kleiner (z.B. 400) und probier dann erneut.
    (->Timeout in Millisekunden.)
    Aber auch nicht zu klein machen, könnte sonst dazu führen, dass Firefox 100% CPU verbraucht bzw. abstürzt...

  • Hi A.J., danke für den Tipp.

    das "rumhüpfen" geht schneller, aber weg geht es so nicht - selbst mit Werten von 10 oder sogar 0.

    Gibt es nicht analog zu document.title zB sowas wie document.load.title und document.tabchange.title, mit dem man das dann einfach überschreiben könnte? Geht doch bestimmt.

  • probiere es mal so:

  • Das sieht schonmal gut aus.

    Nun wird beim Laden und beim Tabwechsel überall profil, timestr und title angezeigt.

    Aber er wechselt jetzt noch in beiden Situationen zwischen den Reihenfolgen "title + profil + timestr" und "profil + timestr + title" hin und her, bis er dann im fertigen Zustand bei letzterem stehenbleibt. "title" hüpft also hin und her.
    Wie kann man das auf den letzteren Zustand festzurren?

  • So?