Paula: JavaScript und CSS

Hallo,

habe folgendes Problem:
Hab zwei CSS-Dateien, eine für den Internet Explorer, die andere für den FireFox. Jetzt möchte ich mit einer JavaScript Funktion die Attribute der CSS Dateien ändern. Gibt es eine Möglichkeit, dass ich in der JavaScript Funktion Anweisungen nur an die Internet-CSS-Datei bzw. an die FireFox-CSS-Datei adressieren kann?
Also irgendwie in der Art:
function xy {
 if (ie.css) Anweisung
 if (ff.css) Anweisung
}

Es grüßt die Paula

  1. Hallo nochmal, hab mich vorhin vertan und meinte:

    function xy {
      if (ie) Anweisung für ie.css
      if (ff) Anweisung für ff.css
    }

    Ist sowas überhaupt möglich, wenn ja wäre ich froh über jeden Hinweis.

    Paula

    1. Hallo Paula!

      ie.css, ff.css - was ist mit Opera?

      In dem Du nach Methoden fragst, die nur dem IE bekannt sind, schließt Du die anderen aus. IE-Browser schleppen seit dem 4er immer noch »document.all« mit sich, aber Vorsicht, auch Opera interpretiert es seit Version 6 oder 7 (Opera-Junkies mögen mich hier korrigieren).

      function xy {
        if (ie) Anweisung für ie.css
        if (ff) Anweisung für ff.css
      }

      function xy {
         if (document.all && !window.opera) {
             // Anweisung für ie.css
         }
         else {
             // Anweisungen für moderne Browser
         }
      }

      Viele Grüße aus Frankfurt/Main,
      Patrick

      --

      _ - jenseits vom delirium - _
      [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
      Nichts ist unmöglich? Doch!
      Heute schon gegökt?
      1. Vielen Dank für Eure Antworten. Jetzt bin ich beruhigt, da ich weiß das es eine Möglichkeit für mein Problemchen gibt. Werde Euren Verweisen nachgehen und mich einlesen.
        Euch nen schönen Tag.

        Paula

        1. Hat alles super geklappt, so wie ich es wollte. Hab den Vorschlag von Patrick verwendet:

          function xy {
             if (document.all && !window.opera) {
                 // Anweisung für ie.css
             }
             else {
                 // Anweisungen für moderne Browser
             }
          }

          Auch der Link mit den CSS-Regeln von Cybaer ist sehr interessant. Auf die Anregung doch auch Opera und Safari zu berücksichtigen komme ich eventuell später zurück. Bin halt noch eine ziemliche Anfängerin und machs halt step by step. Nochmals Danke an alle, Ihr habt mir sehr geholfen.

          Paula

          1. Hi,

            if (document.all && !window.opera) {

            Das ist, wie bereits erwähnt, *keine* Bedingung, die *nur* den IE trifft!

            Gruß, Cybaer

            --
            Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      2. Hallo Patrick,

        IE-Browser schleppen seit dem 4er immer noch »document.all« mit sich, aber Vorsicht, auch Opera interpretiert es seit Version 6 oder 7 (Opera-Junkies mögen mich hier korrigieren).

        ich weiß nicht, seit welcher Version Opera das tut - aber AFAIK unterstützt sogar Firefox seit 1.5 (?) das all-Objekt. Er leugnet es zwar, wenn man ihn danach fragt, indem die Abfrage "if (document.all)" false ergibt. Wenn man all aber einfach verwendet, kann er plötzlich doch damit umgehen. Vermutlich ein Zugeständnis an die MS-verkorksten Web-Programmierer.

        Ich will damit niemanden ermutigen, document.all zu verwenden, denn ich halte es immer noch für eine Krücke (eine unzuverlässige noch dazu). Aber es ist leider schon lange nicht mehr ein "IE-only-feature".

        So long,
         Martin

        --
        Lache, und die Welt wird mit dir lachen.
        Schnarche, und du schläfst allein.
        1. Hallo Martin!

          ich weiß nicht, seit welcher Version Opera das tut - aber AFAIK unterstützt sogar Firefox seit 1.5 (?) das all-Objekt. Er leugnet es zwar, wenn man ihn danach fragt, indem die Abfrage "if (document.all)" false ergibt. Wenn man all aber einfach verwendet, kann er plötzlich doch damit umgehen. Vermutlich ein Zugeständnis an die MS-verkorksten Web-Programmierer.

          Ja, habe auch schon mehrmals darüber gelesen, aber nie ausprobiert. Zumindest - und das wird für Paula entscheidend sein - wird er mittels der Abfrage ausgeschossen.

          Ich will damit niemanden ermutigen, document.all zu verwenden

          Um BillGates Willen! IE schleppt es doch auch doch nur um dem Baghwards Komplizen-Guru zu gefallen!

          Viele Grüße aus Frankfurt/Main,
          Patrick

          --

          _ - jenseits vom delirium - _
          [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
          Nichts ist unmöglich? Doch!
          Heute schon gegökt?
          1. Hi,

            Ja, habe auch schon mehrmals darüber gelesen, aber nie ausprobiert. Zumindest - und das wird für Paula entscheidend sein - wird er mittels der Abfrage ausgeschossen.

            Ändert nichts daran, daß deine Abfrage Browser nicht ausschließt, die kein IE sind. Wer nur IE betrachten will, der sollte Conditional Compilation bemühen.

            Um BillGates Willen! IE schleppt es doch auch doch nur um dem Baghwards Komplizen-Guru zu gefallen!

            Also erklärtermaßen: Bis in alle Ewigkeit ... 8->

            Gruß, Cybaer

            --
            Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      3. ie.css, ff.css - was ist mit Opera?

        Und Safari?

  2. Hi,

    Hab zwei CSS-Dateien, eine für den Internet Explorer, die andere für den FireFox. Jetzt möchte ich mit einer JavaScript Funktion die Attribute der CSS Dateien ändern. Gibt es eine Möglichkeit, dass ich in der JavaScript Funktion Anweisungen nur an die Internet-CSS-Datei bzw. an die FireFox-CSS-Datei adressieren kann?

    Ja. Mit Coding: CSS-Regeln (& Stylesheets) auslesen & ändern kannst Du Stylesheets ändern. Wenn das 1. Stylesheet das IE-Sheet sit, und das 2. das für den Rest der Welt, dann kann man beim IE die Hintergrundfarbe (für den BODY-Selektor) so auf rot setzen: cssRule("body@0","background-color","red"); und für den Rest auf blau: cssRule("body@1","background-color","blue");

    Und falls man nicht weiß, welche Nr. das gewünschte Sheet hat, dann kann man nach z.B. nach einem Selektor suchen, der jeweils einzigartig ist. Oder den Dateinamen auswerten, oder ...

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!