Icons direkt in die Codes einbinden...

  • Nachdem meine anderen "Probleme" gelöst sind, stehe ich gleich vorm nächsten... Ich möchte analog zu diesem Thread

    Anpassungen der CSS-Codes ab Firefox 68 bzw. 69

    meine Codes alle umstricken, so das ich die Base64 basierten Icons direkt auf dem Computer habe und sie mit Pfadangabe einbinden kann...

    Was ist an dieser Ortsangabe falsch?

    Die Datei existiert am angegebenen Ort... ?(

    Hier der ganze Code, es sind bisher nur die ersten 5 Icons "umgestrickt"....

  • Oder einen Ordner Icons im Ordner chrome erstellen.

    Dort alle genutzen Icons hinterlegen.

    Angesprochen werden sie dann so:

    background: url("file:..//Icons/1.gif") no-repeat !important;

    Vorteil, sie werden bei einer Profilsicherung auch gesichert. Und wenn du den Fx auf einem Stick nutzt, sind die Icons immer dabei.

    In Fx 67 lautet der Pfad noch:

    background: url("file:./Icons/1.gif") no-repeat !important;

  • Ohne es auszuprobieren, denke ich auch, dass es an dem fehlenden file:/// liegt – oder Du müsstest einen relativen Pfad angeben, Boersenfeger . Zusätzlich wären Anführungszeichen um die Adresse hilfreich (nee, leider auch ohne erlaubt); zwischen der schließenden Klammer und dem no-repeat ein Leerzeichen einzufügen ist auch nicht verkehrt.

  • Allgemein gesprochen: Eine URL (eine relative Adresse wird hier ja nicht verwendet) beginnt immer mit einem Protokoll, auch dann, wenn die Ressource nicht im Web liegt. Dann ist das Protokoll statt https:// oder http:// eben chrome:// für Firefox-interne Ressourcen oder file:// für Dateien im lokalen Dateisystem. Firefox muss ja wissen, wo er nach dieser Adresse suchen muss.

    Zusätzlich wären Anführungszeichen um die Adresse hilfreich (nee, leider auch ohne erlaubt)

    Anführungszeichen werden dann benötigt, wenn der Pfad ein Leerzeichen beinhaltet. In dem Fall funktioniert es ohne Anführungszeichen nämlich nicht. Gewöhnt man sich an, immer Anführungszeichen zu setzen, dann scheitert es zumindest daran nie.

  • Vielen Dank für die hilfreichen Hinweise....

    So sieht es aus und es klappt ... :)

    CSS
    background: gainsboro url("file:///E:Installationsdateien/Downloads/Icons/index1.gif")no-repeat !important;

    Dann steht jetzt eine längere Bastelpause an... 8o

    BTW: der Ordner Icons war in Chrome bereits angelegt... dies war im Eingangspost aus dem Code auch eigentlich zu erkennen... ;)

    CSS
        background: gainsboro url(e:/Installationsdateien/Downloads/Icons/index4.png)no-repeat !important;
  • Anführungszeichen werden dann benötigt, wenn der Pfad ein Leerzeichen beinhaltet. In dem Fall funktioniert es ohne Anführungszeichen nämlich nicht.

    Aha, wusste ich noch nicht (ich setze immer Anführungszeichen), ist aber bspw. in Windows genauso. In url - CSS: Cascading Style Sheets (MDN) steht davon nämlich nichts.

    Gewöhnt man sich an, immer Anführungszeichen zu setzen, dann scheitert es zumindest daran nie.

    Volle Zustimmung. Es fragt sich, warum das überhaupt ohne erlaubt wurde. Kapitulation vor dem Faktischen, also wegen sehr vieler bis dahin fehlerhafter Anwendungen? (Müssen wir hier aber nicht lange ausführen.)

  • Früher galt anderes als gute Praxis. Alte Browser hatten so ihre Probleme mit Anführungszeichen. Früher wurde von einem Google Styleguide auch explizit empfohlen, Anführungszeichen wegzulassen. Das CMS Drupal hatte vor Jahren automatisch die Anführungszeichen entfernt, wenn es kein Leerzeichen im Pfad gab. Selbst wenn man das ändern wollte, so dass Anführungszeichen sein müssen - das lässt sich heute nicht mehr ändern. Denn Webseiten werden auch gerne mal zehn Jahre oder länger überhaupt nicht mehr angerührt und es gibt keinen guten Grund, Inkompatibilitäten zu schaffen.

    Aber im Prinzip gilt eh die gleiche Regel, die für alles gilt: Ob nun bei einer Eingabe im Terminal des Betriebssystems oder auf Windows in den Eigenschaften einer Verknüpfung: Es ist eigentlich überall so, wo mit Pfaden gearbeitet wird, dass Anführungszeichen dann notwendig sind, wenn Leerzeichen im Pfad sind.