Stylsheet mit <noscript> einbinden

  • Für Browser ohne Javascript möchte ich ein eigenes Stysheet einbinden.

    Meine Idee funktioniert, ist aber leider nicht valide:

    PHP
    <noscript><link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/style-noscript.css" type="text/css" media="screen" /></noscript>

    kann mir jemand einen Tipp geben, wie das richtig geht?

    tschüß [size=24][color=olive]n[/color][/size]epf

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Also eine Variante ist diese: http://www.tutorials.de/forum/html/252…cht-valide.html

    Das heißt, Du lädst erst einmal die Ohne-JS-Datei und überschreibst sie für alle JS-Nutzer mit einer anderen Datei. Zum einen müssen dann aber alle die Ohne-JS-Datei mitladen und zum anderen müssen die Dateien so aufgebaut sein, dass aus der Ohne-Datei alles in der zweiten Datei überschrieben wird.

    Und wie hier (http://stackoverflow.com/questions/2181…s-with-noscript) steht, ist noscript im Header in HTML5 erlaubt, vielleicht wäre das ja eine Lösung? Verstehen tun die Browser es ja wohl sowieso, nehme ich an!?

  • Vielen Dank für die Links mit

    PHP
    <script type="text/javascript">
     //<![CDATA[
      document.write('<link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/style-js.css" type="text/css" media="screen" />');
     //]]>
     </script>

    funktioniert es perfekt.

    [INDENT]Wen es interessiert:
    Ich habe einen <div> der über dem ganzen content liegt und per JS mit mouseover ausgeblendet wird (so eine Art Intro).
    Damit die Leute ohne JS an den content kommen, habe ich den <div> in der allgemeinen css mit display:none; erst mal ausgeblendet. Mit der über obigen code eingebundenen style-js.css überschreibe ich nur diesen einzigen <div> mit display: block;
    So haben alle mit JS den netten Effekt, die anderen sind gleich auf dem content.
    [/INDENT]

    tschüß [size=24][color=olive]n[/color][/size]epf

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!