Daniel (unregistriert): Stylesheet im <noscript> Bereich

guten abend,
habe mit javascript eine browserweiche geschrieben, die je nach browser (einmal apple und sonst alle anderen) eine bestimmte css datei "aufruft" (d.h. per document.write() den entsprechenden html code schreibt).
nun dachte ich mir, füge ich für besucher, die javascript deaktiviert haben, folgendes hinzu:

(im head)
<noscript><link rel="stylesheet" type="text/css" href="bla.css"></noscript>

Da beschwert sich allerdings der w3c html validator (HTML 4.01 Transitional) mit allerhand fehlern:
Line 8 column 72: document type does not allow element "LINK" here.
Line 9 column 6: end tag for element "HEAD" which is not open.
Line 11 column 5: document type does not allow element "BODY" here.

Reduziertes Beispiel:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>
<title>Test</title>
<noscript><link rel="stylesheet" type="text/css" href="css/logonorm.css"></noscript>
</head>

<body>hallo</body>
</html>

einfach auf
http://validator.w3.org/
unter "Validate by Direct Input" reinkopieren.

ohne die <noscript> zeile "verschwinden" alle fehler.

wie bekomme ich das ganze standardkonform? oder hat der w3c validator generell probleme mit JS? wenn ja, kann man den JS teil irgendwie "auskommentieren" (in meinem test hats net geklappt, evtl. hab ich aber auch was falsch gemacht)?
selbst wenns konform ist, habe das entsprechende logo auf meiner seite und wenn jmd. druafklickt und mit fehler überhäuft wird, ist das nicht so toll :

vielen dank schonmal :-)

  1. Moin!

    habe mit javascript eine browserweiche geschrieben, die je nach browser (einmal apple und sonst alle anderen) eine bestimmte css datei "aufruft" (d.h. per document.write() den entsprechenden html code schreibt).
    nun dachte ich mir, füge ich für besucher, die javascript deaktiviert haben, folgendes hinzu:

    (im head)
    <noscript><link rel="stylesheet" type="text/css" href="bla.css"></noscript>

    Ist nicht Standardkonform. <noscript> darf nur im BODY vorkommen, <link> oder <style> nur im Head.

    Am schlauesten ist es, du setzt bei deiner "Browserweiche" nicht auf Javascript, sondern auf entsprechende CSS-Weichen.

    Überhaupt frage ich mich, warum du ausgerechnet für Apple ein Ausnahme definerst. Wäre es der IE, könnte ich es ja noch verstehen.

    Also: Warum deine Browserweiche? Was kann Apple nicht, was alle anderen können?

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. ich weiß auch nicht, warum das apple web kit das nicht hinbekommt (bzw. habe keinen mac, habe meine seite halt mal mit swift -> http://www.getswift.org/ ) getestet, ist nur ne kleinigkeit.

      zu den css weichen:  habe mal gegoogelt, scheinen die box hacks zu sein?

      also in meinem fall ist alles was ich ändern muss, die hintergrundfarbe einer tabellenspalte (background) - dafür konnte ich allerdings nichts finden?
      wenns so nicht geht, könnte ich morgen mal noch n reduziertes beispiel online stellen (vom anzeigefehler).

      1. hi,

        also in meinem fall ist alles was ich ändern muss, die hintergrundfarbe einer tabellenspalte (background) - dafür konnte ich allerdings nichts finden?

        Warum musst du die Hintergrundfarbe einer Tabellenspalte für Safari extra angeben?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hallo Daniel.

        ich weiß auch nicht, warum das apple web kit das nicht hinbekommt (bzw. habe keinen mac, habe meine seite halt mal mit swift -> http://www.getswift.org/ ) getestet, ist nur ne kleinigkeit.

        Ähm, dir ist bewusst, dass es sich bei Swift um eine sehr frühe Alpha–Version handelt, welche mit einem noch nicht gänzlich portierten WebKit arbeitet?

        Momentan ist Swift mehr ein Proof–of–Konzept und vermittelt einen guten ersten Eindruck, was möglich ist. Bis die Rendering–Engine Swifts aber auf einem ähnlichen Niveau wie Safari ist, dürfte noch ein wenig Zeit vergehen.

        Einen schönen Sonntag noch.

        Gruß, Mathias

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]