Thema: @import mit js steuern/ändern

Moin,

ich habe im head folgendes stehen:

<style xml:lang="de" type="text/css" media="screen">
<!--
@import url(../../../skin/home.css);
-->
</style>

In der home.css steht : @import url(./default/home/css/style.css);

Ich würde nun gerne mit einem Script, den Pfad in dieser Datei ändern, bzw. statt aus „default“ aus einem anderen Verzeichnis die style.css anziehen.

Ich möchte aus der Hauptseite, über ein script, eine andere style Datei anziehen.

Da in der home.css ein weiters import steht, kann ich nicht mit dem <link> Tag arbeiten.

Ich denke mal, das das was ich möchte, nicht möglich ist, aber kann ja sein, das Ihr da doch eine Idee habt.

neP.

2

Re: @import mit js steuern/ändern

Ich denke das geht nicht .. Du könntest Dir aber mit einer geeigneten Logik eine bestimte Datei - je nach Bedarf - dazuladen, bzw. am Ende evtl. die Eingebundene home.css überschreiben. Z.B mit PHP:

<style xml:lang="de" type="text/css" media="screen">
<!--
@import url(../../../skin/home.css);

<?php
if ($bedingung)
{
    print "@import url(../style.css);";
}
?>

-->
</style>

Evtl. hilft sowas in der Art ja ? ;o)

vg
Hannes

_______________________________________________________________

/-/annes (j|g) ... http://www.jg-webdesign.de

Re: @import mit js steuern/ändern

Danke Hannes,

aber mit php hab ich absolut nichts zu tun. Da ich die Seite aber später als .jsp vorliegen haben werde, muss ich das dann über einen Tag abfackeln, hatte nur gehofft, die Funktionalität schon im Klickdummy über JS zu Vorführungszwecken implementieren zu können.

4

Re: @import mit js steuern/ändern

Ich habs jetzt nicht ausprobiert:

<style id="css" media="screen">
</style>
<script type="text/javascript">
var style = document.getElementById("css");
style.innerHTML = "@import url(/pfad)";
</script>

Re: @import mit js steuern/ändern

cool ... smile

Mit einem richigen Browser wie dem FF gehts, smile

der IE macht ein aber leider einen scriptfehler, beim setzen des innerHTML, auslesen kann man noch mit style.innerHTML, wenn ich was vorgebe, kann ich es mir mit Alert ansehen, beim ersetzen macht er aber dann dicke Backen.

Aber danke, schon mal ein Ansatz, und ff geht schon mal.

lgneP

Re: @import mit js steuern/ändern

Der IE hat echt ein Problem. sad

Auch so will er nicht, aber FF macht das locker, wer eine Idee, was dem IE da stört, oder wie man den noch überzeugen kann?

<script type="text/javascript">
            <!--
                function addGlobalStyle(css)
                {
                    var head, style;

                    head = document.getElementsByTagName ('head')[0];

                    if (!head) { return; }

                    style = document.createElement ('style');

                    style.type            = 'text/css';
                    style.innerHTML    = css;

                    alert("style: " + style.innerHTML);
                   
                    head.appendChild    (style);
                }

                addGlobalStyle('@import url(../../../skin/home.css);');
           
                /*
                var style = document.getElementById("css");

                alert("style: " + style.innerHTML);

                style.innerHTML = '@import url(../../../skin/home.css);';
                */
            -->
            </script>