rstuby: Konqueror findet weder css noch Bilder

problematische Seite

Hallo! Ich teste meine Homepage mit verschiedenen Browsern. Konqueror (als Testfall eines schlechten Browsers, mit dem es aber auch ein anständiges Bild geben soll) unter OpenSuSe zeigt alle meine Seiten so an, als ob es kein Stylesheet gäbe, und auch die Bilder werden nicht angezeigt. Was seltsam ist:

  • Unter Ubuntu findet der Konqueror die Bilder und das Stylesheet, kann jedoch nichts mit der media-Query "prefers-color-scheme" anfangen.
  • Eine andere Seite mit analogem Aufbau (wird noch getestet, deshalb gebe ich die URL hier nicht öffentlich an) funktioniert soweit auch unter OpenSuSe. Farbschemata werden nicht gefunden, dafür wird der Stil für pointer:coarse genutzt, aber OK. Der Unterschied ist, dass ich eine .htaccess-Datei nutze und die andere Seite nicht. Ich benötige diese für die Sprachwahl. Die Rewrite-Regeln funktionieren übrigens nicht. Wie kann ich das Problem eingrenzen? Vielen Dank!
AddDefaultCharset UTF-8

AddHandler type-map .var

DirectoryIndex index.var

<Files ~ "\.(jpe?g|png|gif|svg|css|webp)$">
	Header set Cache-Control "max-age=31536000"
</Files>

# Extra Security Headers

<IfModule mod_headers.c>
	Header set X-XSS-Protection "1; mode=block"
	Header set X-Content-Type-Options "nosniff"
	Header set Referrer-Policy "same-origin"
	Header set Content-Security-Policy "default-src 'none'; img-src 'self'; style-src 'self'; connect-src 'self'; require-trusted-types-for 'script'"
	Header set X-WebKit-CSP "default-src 'none'"
	Header set X-Frame-Options "DENY"
	Header always set Permissions-Policy "geolocation=(),midi=(),sync-xhr=(),microphone=(),camera=(),magnetometer=(),gyroscope=(),fullscreen=(self),payment=()"
</IfModule>

<IfModule mod_rewrite.c>
	RewriteCond %{HTTPS} off [OR]
	RewriteCond %{HTTP_HOST} ^www\.ruth\.stubenitzky-goettingen\.de [NC]
	RewriteRule (.*) https://ruth.stubenitzky-goettingen.de/$1 [L,R=301]
</IfModule>

akzeptierte Antworten

  1. problematische Seite

    Konqueror (als Testfall eines schlechten Browsers, mit dem es aber auch ein anständiges Bild geben soll)

    Dann wirst Du nachschauen müssen, was die zugrunde liegende Engine KHTML kann.

    KHTML unterstützt folgende Technologien:

    • HTML 4.01
    • CSS 1 und 2.1 (CSS-3-Selektoren)
    • JavaScript (ECMA 262, siehe KJS)
    • DOM
    • bidirektionale Schriften (z. B. Hebräisch)
    • nicht-standardisierte Erweiterungen des Internet Explorers von Microsoft

    Media-Querys sind z.B. CSS3!

    Wenn Du also „par tout“ eine Webseite schaffen willst, die mittels eines reichlich ungenutzen Webbrowsers angezeigt wird, dann musst Du dessen Grenzen und also die ur-alten Standards einhalten und darfst nicht erwarten, dass neueres Zeug funktioniert. Also musst Du auch auf dessen Funktionen verzichten.

    Auch Benutzer von OpenSuSE oder des KDE werden längst auf einen richtigen Webbrowser und anderen Dateimanger umgestiegen sein. Den Konqueror kann man zwar noch installieren - aber wer macht das? In Kubuntu z.B. müsste man ihn nachinstallieren (Aber: Wozu?) Das „Schweizer Taschenmesser" namens „Konqueror“ ist aus Nutzersicht „alt, stumpf, verrostet und zerbrochen“.(*)

    • Dein Ansinnen ist vergleichbar damit, eine Seite zu bauen, die auch unter Windows XP - und zwar mit dem damals mitgelieferten Internet Explorer - funktioniert - ich kann nur davon abraten.

    *) Der Konqueror ist ein Beispiel dafür, dass Software an „Futuritis“ sterben kann.

    1. problematische Seite

      Wenn Du also „par tout“ eine Webseite schaffen willst, die mittels eines reichlich ungenutzen Webbrowsers angezeigt wird, dann musst Du dessen Grenzen und also die ur-alten Standards einhalten und darfst nicht erwarten, dass neueres Zeug funktioniert.

      Ein Browser, der Media-Querys nicht erkennt ignoriert diese ganz.

      Daraus folgt ein alter Trick:

      Du könntest es also damit versuchen, als letzten Abschnitt eine Media-Query reinzustellen, die kein Browser, der diese versteht, unter vernünftigen Bedingungen als erfüllt ansieht.

      Darin überschreibe und setze Styles, die eben mit CSS 2 erlaubt und sinnvoll sind.

      1. problematische Seite

        Hi,

        Ein Browser, der Media-Querys nicht erkennt ignoriert diese ganz.

        Daraus folgt ein alter Trick:

        Du könntest es also damit versuchen, als letzten Abschnitt eine Media-Query reinzustellen, die kein Browser, der diese versteht, unter vernünftigen Bedingungen als erfüllt ansieht.

        Die Browser, die Media-Queries können, werden also den Inhalt des Blocks ignorieren, da die Bedingungen nicht zutreffen.

        Die Browser, die Media-Queries nicht können, ignorieren laut Deiner eigenen Aussage den Inhalt ebenfalls ...

        Umgekehrt könnt's eher was werden.

        Außerhalb von Media-Query-Blöcken den Kram, der für die nicht-Media-Query-Browser gedacht ist.

        Und für die fähigen Browsern dann Kram abhängig von den Bedingungen anpassen.

        cu,
        Andreas a/k/a MudGuard

        1. problematische Seite

          Umgekehrt könnt's eher was werden.

          Du hast recht. Da waren meine Finger schneller als das Hirn…

        2. problematische Seite

          @@MudGuard

          Umgekehrt könnt's eher was werden.

          Außerhalb von Media-Query-Blöcken den Kram, der für die nicht-Media-Query-Browser gedacht ist.

          Und für die fähigen Browsern dann Kram abhängig von den Bedingungen anpassen.

          Dafür sollten man aber nicht @media misbrauchen, sondern das einsetzen, was für sowas gedacht ist: @supports.

          😷 LLAP

          --
          “When I was 5 years old, my mother always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down ‘happy.’ They told me I didn’t understand the assignment, and I told them they didn’t understand life.” —John Lennon
          1. problematische Seite

            Hallo an alle, danke für die vielen Antworten! Also um das noch mal zu klären. Es geht mir nicht darum, die Seite für den Konqueror zu optimieren, sondern darum, dass Leute, die mit einem schlechten alten Browser unterwegs sind, auch noch etwas einigermaßen Passables zu Gesicht bekommen. Und das bekomme ich, denke ich, ganz gut mit dem Konqueror als "Worst Case" hin. Das mit den Media Queries hatte ich nur so nebenbei erwähnt, und ich werde es wohl genau so machen, wie hier vorgeschlagen wird: Was möglichst alle kriegen sollen, kommt außerhalb der Queries, und innherhalb dann logischerweise die Extrasachen, die zwar nett, aber verzichtbar sind.

            Auf meine Hauptfrage wurde aber leider gar nicht eingegangen: Wie kann es sein, dass der Konqueror unter OpenSuSe (dass irgendein hergelaufener Browser, den vielleicht jemand haben könnte) bei mir ÜBERHAUPT kein CSS sieht. Und keine Bilder. Nur das nackte HTML mit Standardformatierung (weißer Hintergrund, schwarze Schrift, blaue Links...) ohne irgendwelche der verlinkten Dateien - wobei andererseits die HTML-Verlinkungen aber funktionieren? Und wie kann es sein, dass eine absolut analoge Testseite ohne .htaccess-Datei dieses Problem nicht hat? Ist es wahrscheinlich, dass wirklich NUR der Konqueror dieses Problem hat? Dann wäre es ja wirklich zu vernachlässigen. Ich möchte aber nicht zu denen gehören, die den finanzschwachen Internetsurfern praktisch suggerieren "kauf dir erst mal neue Hardware für die bessere Software und dann komm wieder auf meine Seite" (obwohl es natürlich ganz praktisch ist, reiche Kunden zu haben).

            1. problematische Seite

              Kleiner Nachtrag: Jetzt habe ich mal die Probe aufs Exempel gemacht und die .htaccess-Datei zeitweise umbenannt. Siehe da, das Stylesheet funktioniert, soweit der Konqueror das kann, und die Bilder sind auch vorhanden. Aber wie gesagt, ich brauche die .htaccess für die Sprachauswahl.

              1. problematische Seite

                Mit der Regel

                Header set X-WebKit-CSP "default-src 'none'"

                hattest Du ja zuerst dem Konqueror alles verboten.

                1. problematische Seite

                  Oh, danke! Das wird stimmen. Probiere ich morgen aus.

                  1. problematische Seite

                    Jetzt funktioniert es! Vielen Dank!

            2. problematische Seite

              Hallo,

              Auf meine Hauptfrage wurde aber leider gar nicht eingegangen: Wie kann es sein, dass der Konqueror unter OpenSuSe (dass irgendein hergelaufener Browser, den vielleicht jemand haben könnte) bei mir ÜBERHAUPT kein CSS sieht. Und keine Bilder. Nur das nackte HTML mit Standardformatierung (weißer Hintergrund, schwarze Schrift, blaue Links...) ohne irgendwelche der verlinkten Dateien - wobei andererseits die HTML-Verlinkungen aber funktionieren?

              dazu kann man anhand deiner Angaben auch nichts sagen. Wirklich hilfreich wäre nur ein Online-Beispiel, an dem man sich das live ansehen kann. Ich tippe auf irgendeinen trivialen Fehler, den andere Browser vielleicht ausbügeln.

              Und wie kann es sein, dass eine absolut analoge Testseite ohne .htaccess-Datei dieses Problem nicht hat?

              Falsche Frage. Ein Browser sieht keine .htaccess. Er sieht nur das, was der Server ihm liefert. Die .htaccess-Datei ist eine Konfigurationsdatei des Apache-Webservers.

              Ist es wahrscheinlich, dass wirklich NUR der Konqueror dieses Problem hat?

              Nein.

              Ich möchte aber nicht zu denen gehören, die den finanzschwachen Internetsurfern praktisch suggerieren "kauf dir erst mal neue Hardware für die bessere Software und dann komm wieder auf meine Seite" (obwohl es natürlich ganz praktisch ist, reiche Kunden zu haben).

              Das ist auch Unsinn. Im Gegenteil: KDE mit Koquereor stellt wesentlich höhere Ansprüche an die Hardware als ein Lightweight-Desktop wie etwa LXDE oder xfce.

              Live long and pros healthy,
               Martin

              --
              Hunde, die bellen, beißen nicht.
              Jedenfalls nicht gleichzeitig.
    2. problematische Seite

      Lieber Raketenwilli,

      Das „Schweizer Taschenmesser" namens „Konqueror“ ist aus Nutzersicht „alt, stumpf, verrostet und zerbrochen“.(*)

      *) Der Konqueror ist ein Beispiel dafür, dass Software an „Futuritis“ sterben kann.

      Quelle?

      Liebe Grüße

      Felix Riesterer

      1. problematische Seite

        Quelle?

        Ich selbst.

        Falls es Dir nicht reicht: Es wird ja auch einen Grund dafür geben, dass in vielen (oder allen?) KDE-Distributionen der Konqueror als (Standard-)Dateimanger durch Dolphin und als (Standard-)Webbrowser durch irgendwas anderes abgelöst wurde und bei einem „Ja-Hurra-Weiter“-Setup nicht einmal mehr mal installiert wird.

        1. problematische Seite

          Hallo,

          Quelle?

          Ich selbst.

          also nicht Wikipedia-tauglich. 😉

          Falls es Dir nicht reicht: Es wird ja auch einen Grund dafür geben, dass in vielen (oder allen?) KDE-Distributionen der Konqueror als (Standard-)Dateimanger durch Dolphin und als (Standard-)Webbrowser durch irgendwas anderes abgelöst wurde und bei einem „Ja-Hurra-Weiter“-Setup nicht einmal mehr mal installiert wird.

          Natürlich gibt es dafür einen Grund. Oder mehrere. Ein Grund könnte sein, dass Konqueror keine nennenswerte Fangemeinde mehr hat. Ein anderer könnte sein, dass er konzeptbedingte Schwächen hat, die man nicht ohne weiteres beseitigen kann und daher lieber von der Nutzung abrät[1]. Oder das Developer-Team hat ihn schon so gut wie aufgegeben und die Weiterentwicklung läuft nur noch mit Standgas.

          Also jede Menge denkbare Gründe.

          Live long and pros healthy,
           Martin

          --
          Hunde, die bellen, beißen nicht.
          Jedenfalls nicht gleichzeitig.

          1. So wie bei Windows, wo der Internet Explorer Hand in Hand mit dem Desktop und dem File-Explorer zusammenarbeitet, was in manchen Punkten durchaus heikel sein kann. ↩︎

    3. problematische Seite

      @@Raketenwilli

      Wenn Du also „par tout“ eine Webseite schaffen willst, die mittels eines reichlich ungenutzen Webbrowsers angezeigt wird, dann musst Du dessen Grenzen und also die ur-alten Standards einhalten und darfst nicht erwarten, dass neueres Zeug funktioniert. Also musst Du auch auf dessen Funktionen verzichten.

      Ich verstehe nicht, worauf sich „dessen“ bezieht und was deine Aussage konkret ist. Wenn diese ist: Wenn Du also „par tout“ eine Webseite schaffen willst, die mittels eines reichlich ungenutzen Webbrowsers angezeigt wird, dann darfst du kein neueres Zeug verwenden, dann stimmt sie ganz und gar nicht.

      Man schafft die Grundlage der Darstellung mit altem Zeug, das auch ein alter Browser versteht. Darauf aufbauend ergänzt man neueres Zeug, was die Darstellung in modernen Browsern verbessert – ohne zu erwarten, dass dieses neuere Zeug in alten Browsern funktioniert. Progressive enhancement.

      😷 LLAP

      --
      “When I was 5 years old, my mother always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down ‘happy.’ They told me I didn’t understand the assignment, and I told them they didn’t understand life.” —John Lennon
      1. problematische Seite

        Hallo Gunnar,

        Wenn Du also „par tout“ eine Webseite schaffen willst, die mittels eines reichlich ungenutzen Webbrowsers angezeigt wird, dann musst Du dessen Grenzen und also die ur-alten Standards einhalten und darfst nicht erwarten, dass neueres Zeug funktioniert. Also musst Du auch auf dessen Funktionen verzichten.

        Ich verstehe nicht, worauf sich „dessen“ bezieht und was deine Aussage konkret ist.

        zugegeben, der ganze Absatz ist ziemlich wirr, aber ich denke, "dessen" meint hier "des neuen Zeugs", auf dessen Funktionen man verzichten muss.

        Wenn ddiese ist: Wenn Du also „par tout“ eine Webseite schaffen willst, die mittels eines reichlich ungenutzen Webbrowsers angezeigt wird, dann darfst du kein neueres Zeug verwenden, dann stimmt sie ganz und gar nicht.

        Naja sie stimmt im Bezug auf die Basisversion, auf die dein erwähntes Progressive Enhancement aufsetzen soll. Diese Minimalversion darf dann "das neue Zeug" tatsächlich nicht voraussetzen.

        Man schafft die Grundlage der Darstellung mit altem Zeug, das auch ein alter Browser versteht. Darauf aufbauend ergänzt man neueres Zeug, was die Darstellung in modernen Browsern verbessert – ohne zu erwarten, dass dieses neuere Zeug in alten Browsern funktioniert. Progressive enhancement.

        Ja, einverstanden. 😀

        Live long and pros healthy,
         Martin

        --
        Hunde, die bellen, beißen nicht.
        Jedenfalls nicht gleichzeitig.
  2. problematische Seite

    Hallo an alle! Jetzt, wo die Hauptfrage gelöst ist (noch mal vielen Dank!), will ich auch noch auf die Nebenfragen eingehen, auch hier vielen Dank für die Anregungen!

    Konqueror nutzt heutzutage nicht mehr standardmäßig KHTML, man kann die Ansicht (jedenfalls unter Ubuntu) aber auf KHTML umstellen und so auch sehen, was ein Browser ganz ohne CSS3 aus der Seite so macht. Ist nicht super, aber durchaus bedienbar. Schade, dass man für halbtransparente Farben keine deckenden Farben als Fallback angeben kann (oder doch?).

    Wenn die Ansicht (per Default) auf "Webengine" steht, werden die meisten CSS3-Features erkannt. Auch die meisten Media Queries. Nur eben nicht die Farbschemata, weshalb ich denke, dass die einfach nicht von allen Browsern unterstützt werden. Daher werde ich jetzt doch das helle Farbschema per Default angeben. Wer einen Browser hat, in dem er ein dunkles Farbschema einstellen kann, der hat auch die Zeit, ein paar Millisekunden länger auf das Laden zu warten.

    Außerdem werden einzelne Media-Queries "falsch positiv" erkannt, und zwar unter OpenSuSe "pointer:coarse" und unter Ubuntu "hover:none". Das ist nicht schlimm, denn auch mit einem Touchscreen und ohne Hover-Funktion soll die Seite ja sowieso akzeptabel aussehen. Ich habe aber getestet, ob Raketenwillis Trick, der ja eigentlich für einen anderen Fall war, hier vielleicht auch funktioniert, also danach noch "pointer:blabla" oder "hover:blabla" angeben und hoffen, dass das auch falsch positiv erkannt wird. Tut es nicht.

    Hoffe bloß, dass "da draußen" kein Browser ist, der fälschlich die Printversion anzeigt. Das wäre nämlich der Fall, wenn wirklich alles stur der Reihe nach abgearbeitet wird, auch was in den Media-Queries steht. Und in der Druckversion hätte man dann kein Menü mehr.

    Jetzt noch mal zur Frage, warum ich überhaupt mit Konqueror teste. Es gibt ja jede Menge kleine Browser, die irgendjemand aus irgendwelchen Gründen nutzt. Ich teste auch mit elinks, dort sollen die Seiten auch bedienbar sein (OK, beim Quiz mache ich Abstriche, das geht halt nicht).

    Ich kann aber nicht alle Browser laden und mit allen testen. Deswegen dachte ich, Konqueror ist so eine Art "Worst case". Was da noch funktioniert, funktioniert überall und wenn die Seite damit noch bedienbar ist, ist es gut, und wenn sie da noch einigermaßen anständig aussieht, ist es super. Vielleicht kann mir jemand einen anderen "Worst case"-Browser für diese Testung empfehlen? Er sollte aber unter Ubuntu laufen.

    1. problematische Seite

      @@rstuby

      Schade, dass man für halbtransparente Farben keine deckenden Farben als Fallback angeben kann (oder doch?).

      Doch:

      selector {
        background-color: #abc;
        background-color: #abcd;
      }
      

      In modernen (sprich: normalen) Browsern überschreibt die zweite Deklaration die erste. Uralt-Browser ignorieren die ihnen unverständliche zweite Deklaration. Progressive enhancement.

      😷 LLAP

      --
      “When I was 5 years old, my mother always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down ‘happy.’ They told me I didn’t understand the assignment, and I told them they didn’t understand life.” —John Lennon
      1. problematische Seite

        Herzlichen Dank! Und ich dachte schon, da müsste ich mit @supports arbeiten...