Beiträge von David44

Du benötigst Hilfe bezüglich Firefox? Bitte stelle deine Frage im öffentlichen Bereich des Forums und nicht per Konversation an wahllos ausgesuchte Benutzer. Wähle dazu einen passenden Forenbereich, zum Beispiel „Probleme auf Websites“ oder „Erweiterungen und Themes“ und klicke dann rechts oben auf die Schaltfläche „Neues Thema“.

    Problem gelöst - bitte nur weiterlesen, wenn ihr auf Kommentare verzichtet. Also...... ich mache bisher wenig mit Scripts, aber die haben alle eine Gemeinsamkeit: es kommt kein Umlaut darin vor... im Gegensatz zu den hier thematisierten! Deswegen war mir bis eben entgangen, daß ich alle in ANSI-Codierung gespeichert hatte, mit welcher FF über die Umlaute stolpert. Mit UTF-8 läuft es wie erwartet. :) Danke für eure Geduld und bitte entschuldigt die unnötige Frage.

    Du nutzt ja zumindest noch ein anderes Script.

    Deaktivier das doch bitte mal (und auch alle anderen wenn vorhanden) und teste nur die beiden die nicht funktionieren.


    Du hast beim Neustarten von Firefox den Skript-Cache geleert?

    Beides schon probiert, leider ändert sich nichts.

    "userChrome.ignoreCache = true;" in userChrome.js sollte das tun, oder? Außerdem verwende ich RestartFirefoxButtonM.uc.js v. 0.3, das tut das angeblich auch.

    'urlbar' bewirkt übrigens genauso wenig wie 'menu'.

    Bin gespannt, ob sich eine Lösung findet.

    Was verstehst du unter „rein gar nichts“?

    Was man gemeinhin darunter versteht: rein gar nichts. Es gibt keinerlei sichtbare/spürbare Veränderung mit oder ohne dieses Script.


    Welche Version verwendest du überhaupt? Bitte immer den Skript-Code in einem Code-Kasten einstellen. Ich kann mich dunkel erinnern, dass bei der Standardversion des Skripts hinter warpmenuto searchbar angegeben war.

    Getestet mit Firefox 78.14.0 ESR, auch ganz ohne userChrome.css, falls das eine Rolle spielt, Scriptversion 2019.08.04, aber auch mit Github/Endor8...

    In extras_config_menu.uc.js (1.0.20190504) steht: warpmenuto: 'menu',

    Die Menüzeile ist natürlich eingeblendet. Aber die geht von "Datei" bis "Hilfe", egal welches Script da existiert.


    Wundert mich schon seit Jahren; ich dachte immer, daß das vielleicht nur mit Greasemonkey o.ä. läuft (der Thread ist so unübersichtlich) und wollte jetzt einfach mal Gewißheit.

    Oh, ich war sicher, auch DAS probiert zu haben. :-/ Möglicherweise wurde da im entscheidenden Moment mal wegen eines Hängers beim Beenden der Cache nicht geleert? Jetzt flutscht's jedenfalls wie 'ne Eins. DANKE!! Hast Du evtl. noch eine Lösung, um die usercontent.css (nicht) einzulesen, ohne Firefox neu zu starten? Hier mal mein derzeitiges Script (bewußt minimalistisch):


    Danke, daß Du versuchst, auf meine - wie ich jetzt sehe - bescheuerte Anfrage zu antworten. Ich war offenbar zu genervt (wollte eigentlich auch einen neuen Thread beginnen und hier was anderes fragen)...

    Also die eigentliche Frage war/ist: Wie kann man prüfen, ob eine Datei existiert? Ich habe die sinnlose Frage im vorigen Beitrag mal editiert.

    Nach langer Pröbelei komme ich wieder mal nicht weiter. Wie kann man in einem Script prüfen, ob eine Datei existiert? Kopieren und Umbenennen klappt problemlos mit

    Code
    var css = Services.dirsvc.get('UChrm', Ci.nsIFile);
    css.append('userContent.css');
    var css2 = Services.dirsvc.get('UChrm', Ci.nsIFile);
    css.moveTo(css2,'userContent.temp');

    css.isfile klingt geeignet, ist aber immer false. Einer der (vielen) anderen Versuche war

    Code
    var Path = this.getPrefDirectoryPath("UChrm") + this.getDirSep() + "userContent.css";
    var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsIFile);
    file.initWithPath(Path);
    if (file.exists()) alert("alert file exists");

    aber da läuft das Script gar nicht.

    Offenbar habe ich ein Brett vorm Kopf - das kann doch nicht so schwer sein??

    (Edit: in der Frage Umbenennen/FileExist verwechselt)

    > Den Zusammenhang zwischen deiner Anfrage und diesem Satz verstehe ich nicht. Mozilla verdient doch nicht mehr oder weniger durch die Reihenfolge, in welcher Suchmaschinen bei dir angezeigt werden.


    Ganz abwegig ist es nicht daß Google mehr Kohle 'rüberschiebt, je penetranter sie dem Nutzer aufgedrückt werden. Es kann natürlich auch Zufall sein, daß Google in der ansonsten alphabetisch sortierten Liste ganz oben steht oder unerwünscht zur Standardsuchmaschine wird.


    > Und wenn du die Datei search.json.mozlz4 verteilst und via policies.json lediglich die Standard-Suchmaschine definierst, klappt das?


    Nein. Hab's extra /nochmal/ probiert. Eben war auch die Sortierung dahin. Da hatte ich wohl bei anderen Test etwas anders gemacht.

    Um für neue Profile die gewünschten Suchmaschinen zur Verfügung zu haben, verwende ich "policies.json" im distribution-Verzeichnis. Das klappt soweit gut, aber die Suchmaschinen sind dann einfach alphabetisch sortiert (und Google ganz vorn). Wie kann man das automatisiert ändern? Daß man alles schön betulich in den Einstellungen mit diversen Mausklicks ändern kann, ist mir bekannt, aber nicht die Lösung. Mit einer vorab erstellten search.json.mozlz4 läßt sich die Reihenfolge zwar festlegen, aber dann ist ungewollt gleichzeitig Google die Standard-Suchmaschine. Klar muß Mozilla die Google-Millionen irgendwie verdienen, aber eine Möglichkeit sollte es doch trotzdem geben?

    Gefühl, dass du überhaupt nicht richtig liest, was man dir schreibt.

    Das Gefühl habe ich auch :-/, deswegen gehe ich auch nicht auf jede Äußerung ein. Der Thread ist schon unübersichtlich genug.

    Wenn die letzte Frage mißverständlich war oder untergegangen ist, noch einmal, unabhängig vom gelösten "nojs"-Problem:


    Wie kann man per Script im Quelltext suchen und diesen ersetzen? Also was nach let document = event.target; folgen müßte. Die replace() -Funktion könnte doch da irgendwie anwendbar sein?

    Erfolg! Es klappt :) Danke Aborix!

    Warum vorhin nicht: ich habe für das Code-Zitat den Kommentar 'rausgelöscht. Erst als ich den Kommentar auch in der Datei gelöscht hatte, funktionierte es. Da war mir ein Zeichen hineingeraten, was FF nicht geschmeckt hat.


    Wieso denkst du dir dafür jetzt einen komplett anderen und falschen Code aus?

    Sorry, daß ich mich nicht so gut auskenne wie Du. Nimm es doch als Zeichen, daß ich mich bemühe, selbst zur Lösung beizutragen.


    Weil ich gerne dazu lerne: wie würde denn ein search&replace an der Stelle funktionierend aussehen?

    Ein Skript kann so aussehen:

    Danke für Deine Mühe. Es sieht vielversprechend aus, leider passiert nichts Wahrnehmbares beim Test mit abgekürztem Script test.uc.js:

    Funktioniert das denn bei Dir? D.h. wird die Seite https://phpbb.com auch mit deaktiviertem JS angezeigt?

    Ich habe dann mal document.replace("nojs notouch", "notouch"); probiert, leider genauso erfolglos; Anzeige und Quelltext ändern sich nicht.

    Nutzt du ernsthaft noch Proxomitron?

    Ist ja leider nicht mehr sinnvoll möglich. BTW: Der Code wurde IIRC nicht nicht freigegeben sondern ist mit dem Tod von Scott Lemmon verlorengegangen. Mittels Decompilieren wurde vor kurzem zwar offenbar wieder eine lauffähige Version erstellt, aber deren Quellcode scheint nicht offen zu sein. Das ist mir für den ernsthaften Einsatz dann doch zu unsicher. Für das SSL-Problem gibt es zwar evtl. auch eine Lösung, aber das erhöht die Komplexität nochmals. Einige der größten Störfaktoren lassen sich ja schon mit NoScript und usercontent.css beseitigen. Aber die Proxomitron-Funktionalität wünsche ich mir schon des öfteren zurück...

    Am einfachsten wäre es, du gibst uns die Webseite.

    Steht doch oben: : https://www.phpbb.de/community/ Wenn das damit also einfach ist, bin ich gespannt auf die Lösung. :)


    Aber grundsätzlich entfernt man in JavaScript wie folgt eine Klasse:

    Danke, mal schauen, ob sich das irgendwie umsetzen läßt.

    Eine grundsätzliche Frage, auf die ich beim Überfliegen der nun 120 Threadseiten keine Antwort gefunden habe:

    kann man per Userscript den Inhalt von Webseiten ändern? Also eine Art s/foo/bar. Für den Anfang würde ich nur in einem Attribut etwas löschen wollen. Versucht habe ich ohne Erfolg Variationen in dieser Art

    Code
    function ContentLoaded() {
    document.querySelector('body').classList.remove('nojs');
    }
    gBrowser.addEventListener("DOMContentLoaded", ContentLoaded, true);

    Wenn das überhaupt geht, wäre der nächste Schritt, das auf ausgewählte Webseiten einzugrenzen.

    Das heißt, dein Code macht die ganze Seite zu einer riesengroßen weißen Fläche ohne jeden Inhalt.

    So ist es erwartungsgemäß leider, d.h. es sieht aus wie vorher...

    Eine Klasse kann, wie von .DeJaVu scho gesagt, nur via JavaScript entfernt werden.

    Ah, auf die Gefahr hin, daß Du das nicht gerne liest: gibt es dafür vielleicht ein Beispiel-Userscript? Mit Proxomitron wär' das ein Klacks, die FF-Interna kenne ich dafür noch zu wenig.

    Wenn jemand eine Seite braucht, um die Frage nachzuvollziehen: https://www.phpbb.de/community/

    Aber wer eine Lösung hat, braucht das wahrscheinlich nicht.

    Kann man z.B. per usercontent.css auch den Inhalt eines Class-Parameters ändern oder diesen auf andere Art "neutralisieren"? Z.B. sendet eine Seite:

    Code
    <body id="phpbb" class="nojs notouch section-index ltr ">

    Damit wird ohne Javascript nichts angezeigt. Editiert man im Quelltext das "nojs" 'raus, ist der Inhalt normal zugänglich. Ich aktiviere Javascript nur in Ausnahmefällen, nach Möglichkeit gar nicht. (*)

    Erweiterungen, die das können, gibt es sicherlich einige. Wenn es ohne eine solche nicht geht, welches ist denn eine minimal-invasive?


    (*) Belehrungen über die Unsinnigkeit von deaktiviertem JS bitte nicht hierher.

    Die Dateigröße ist vollkommen unerheblich, oder hat die Festplatte nur noch 3 MB freien Speicher?

    Natürlich ist die Dateigröße erheblich. Mehr Code -> mehr Bugs, i.d.R. mehr Ladezeit+Arbeitsspeicher. Über den Platz auf dem Datenträger sehe ich schon großzügig hinweg. :) Je mehr Code, desto leichter lassen sich Funktionen vor dem Anwender oder der sicherlich vorhandenen aber keineswegs unfehlbaren Überprüfung durch Mozilla verstecken. Ab gewissen (recht niedrigen) Dimensionen bleibt mir nichts anderes übrig, als dem Anbieter zu vertrauen. Aber wenn die Funktionalität einfach genug ist, habe ich lieber selbst ein Auge drauf. YMMV

    Du vergleichst erstens Äpfel mit Birnen und ordnest den Satz zweitens völlig falsch ein: In der Aussage vom Tor-Projekt geht es um Tor, nicht um Firefox.

    Ja: Megabytegroße schwer durchschaubare Addons mit einfach zu überblickenden Scripten, bzw. "Erweiterung, deren Abläufe/Aufbau ich nicht verstehe" mit "Script, das lesbar und nachvollziehbar vor mir liegt". Firefox ist der Browser in Tor und diesen nutze ich fast ausschließlich. Das Zitat ist nur als ergänzende Begründung zu meinem Bestreben, Addons nach Möglichkeit wegzulassen gemeint. Es gibt eben Nutzer mit unterschiedlichen Ansichten und Wünschen. Aber Du darfst gerne das letzte Wort dazu haben. Ich habe nun genug geschrieben.