Redu: Firefox und externe Javascript Datei

Hallo,
ich habe ein Problem mit einer externen Javascript Datei. In dieser ist eine Funktion, die mit document.getElementById("id").style.backgroundColor= "#00000" die Hintergrundfarbe eines Formuarfeldes ändern soll. Im IE funktioniert das auch wunderbar, nur bei firefox geht es nicht. Allerdings geht es wiederum wenn man die Funktion direkt in die Seite schreibt.

Danke im voraus!

  1. Hi,

    document.getElementById("id").style.backgroundColor= "#00000"

    das ist keine gültige Farbe.

    [...] bei firefox geht es nicht. Allerdings geht es wiederum wenn man die Funktion direkt in die Seite schreibt.

    Meine Glaskugel sagt mir, dass Dein Server die CSS-Ressource mit einem falschen MIME-Type ausliefert. Irrtümlicherweise interpretiert der IE sie trotzdem.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Gsss,

      [...] die CSS-Ressource [...]

      JS-Ressource meinte ich. Es gilt das selbe.

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. HI,

        JS-Ressource meinte ich. Es gilt das selbe.

        Naja auch gut davon hab ich eh keine Ahnung. Kannste mir denn sagen wie ich das beheben kann. Es muss doch irgendwie möglich sein oder? Ich meine es geht ja auch nicht wenn ich das auf meinem PC ausführe.

        1. Hi,

          Kannste mir denn sagen wie ich das beheben kann.

          wenn meine Glaskugel Recht hat, (nur) durch Konfiguration des Servers.

          Ich meine es geht ja auch nicht wenn ich das auf meinem PC ausführe.

          Ohne Server? Dann ist vermutlich eher der JS-Code defekt. Das ganze ist aber pure Raterei; Details z.B. in Form eines Links würden helfen.

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
          1. Hi,
            ich fürchte ich hab das Problem schon gefunden. Es ist meine Markiersperre auf der page. Die muss wohl auch irgendwie das onfocus objekt beeinflussen. Naja dann muss ich mir wohl dazu ne alternative einfallen lassen, oder könnte man das automatisch disablen lassen wenn ich inn ein Textfeld klicken will? Hier der code:

            document.onselectstart=new Function ("return false")
            if (window.sidebar)
            {
             document.onmousedown=disableselect;
             document.onclick=enableselect;
            }

            function disableselect()
            {
             return false;
            }

            function enableselect()
            {
             return true;
            }

            1. Hi,

              Es ist meine Markiersperre auf der page.

              äh? Wieso betreibst Du Aufwand in das Unterfangen, die Qualität Deiner Site zu reduzieren? Das verstehe ich nicht.

              Cheatah

              --
              X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
              X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
              X-Will-Answer-Email: No
              X-Please-Search-Archive-First: Absolutely Yes
              1. äh? Wieso betreibst Du Aufwand in das Unterfangen, die Qualität Deiner Site zu reduzieren? Das verstehe ich nicht.

                Naja es ist ja nicht wegen Textklau. Ich habe da so ein paar Bilder auf der page die sich markieren lassen, was ziemlich eklig aussieht wegen diesen großen blauen kästen. Oder kann man die markiersperre auch nur auf diese Bilder beziehen?

                1. Hi,

                  Naja es ist ja nicht wegen Textklau.

                  das wäre auch nicht möglich.

                  Ich habe da so ein paar Bilder auf der page die sich markieren lassen, was ziemlich eklig aussieht wegen diesen großen blauen kästen.

                  Und wo ist da das Problem, wenn der Benutzer sich entscheidet, große blaue Kästen sehen zu wollen?

                  Oder kann man die markiersperre auch nur auf diese Bilder beziehen?

                  Ich habe nicht den geringsten Schimmer. Über derlei groben Unfug weigere ich mich auch nachzudenken. Es ergibt keinerlei Sinn, sowas zu versuchen.

                  Cheatah

                  --
                  X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                  X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                  X-Will-Answer-Email: No
                  X-Please-Search-Archive-First: Absolutely Yes
                  1. Über derlei groben Unfug weigere ich mich auch nachzudenken.

                    Naja dann... was solls muss ich mich damit halt alleine rumschlagen. Aber dass das Formularfeld höhere Priorität hat ist ja eh klar.

                    Danke nochmal!!!

                2. Hi,

                  Naja es ist ja nicht wegen Textklau. Ich habe da so ein paar Bilder auf der page die sich markieren lassen, was ziemlich eklig aussieht wegen diesen großen blauen kästen. Oder kann man die markiersperre auch nur auf diese Bilder beziehen?

                  So, wie ich Dich verstehe, willst Du in Dein style sheet dieses schreiben:

                  a img {border:none;}

                  Ggf. auch in Verbindung mit einem geeigneten Pseudoformat.

                  Und auf eine "Markiersperre" wirst Du hoffentlich verzichten wollen, da sie die Benutzbarkeit Deiner Seite gravierend beeinträchtigt ;)

                  Viele Grüße,
                  Bubax

                  1. So, wie ich Dich verstehe, willst Du in Dein style sheet dieses schreiben: a img {border:none;}

                    Ne das ist es eigentlich nicht. Ich meine eigentlich nur, diese große blauen Flächen, die anzeigen wenn etwas markiert ist.

                    1. Hi,

                      So, wie ich Dich verstehe, willst Du in Dein style sheet dieses schreiben: a img {border:none;}

                      Ne das ist es eigentlich nicht. Ich meine eigentlich nur, diese große blauen Flächen, die anzeigen wenn etwas markiert ist.

                      Welche großen, blauen Flächen, zur Hölle, die dort erscheinen...?

                      An diesem Punkte möchte ich Dich aber doch bitten, die Glaskugel fallen zu lassen und einen Verweis zu präsentieren... mir sind zeitlebens noch keine blauen Kästen untergekommen, die meine Bilder belästigt hätten ;)

                      Viele Grüße,
                      Bubax

                      1. Welche großen, blauen Flächen, zur Hölle, die dort erscheinen...?

                        Markier mal mit der Maus eine Seite, falls dort Bilder vorhanden sind, werden diese ebenfalls in einem transparenten blau markiert. (zumindest unter Win)

                        Struppi.

                        1. Hi,

                          Welche großen, blauen Flächen, zur Hölle, die dort erscheinen...?
                          Markier mal mit der Maus eine Seite, falls dort Bilder vorhanden sind, werden diese ebenfalls in einem transparenten blau markiert. (zumindest unter Win)

                          Die Farbe der Markierung ist nicht notwendigerweise blau. Bei mir ist das ein dunkles Weinrot. Wie die meisten Farben ist auch die des selektierten Bereichs konfigurierbar.

                          cu,
                          Andreas

                          --
                          MudGuard? Siehe http://www.Mud-Guard.de/
                          Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                        2. Hi,

                          Welche großen, blauen Flächen, zur Hölle, die dort erscheinen...?

                          Markier mal mit der Maus eine Seite, falls dort Bilder vorhanden sind, werden diese ebenfalls in einem transparenten blau markiert. (zumindest unter Win)

                          Ah, jetzt verstehe ich die großen blauen Flächen. Ich bin noch nie darauf gekommen, daß jemand diese Markierungen störend finden könnte - daher habe ich sie noch nie besonders beachtet. Ich finde sie jedenfalls gut...

                          Viele Grüße,
                          Bubax

            2. Hallo,

              ich habe jetzt nicht getestet inwieweit dein Code auch bei Firefox unmittelbar Fehler verursacht, aber..

              if (window.sidebar)

              ..diese Abfrage solltest du sowieso grundsätzlich meiden und ggf. durch eine andere Methode ersetzen, da bereits Probleme mit K-Meleon zu erwarten sind, vielleicht ist window.updateCommands geeignet oder du verteilst die Abfrage auf zwei Scripte, vgl. http://www.lipfert-malik.de/webdesign/tutorial/bsp/browser_js_test.html unten.

              Grüsse

              Cyx23

      2. Hello,

        [...] die CSS-Ressource [...]

        JS-Ressource meinte ich. Es gilt das selbe.

        was müsste man denn dem Apachen beibringen?

        addtype...  und da verließen sie ihn

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Hi,

          was müsste man denn dem Apachen beibringen?
          addtype...  und da verließen sie ihn

          der richtige MIME-Type lautet - entgegen landläufiger Meinung, es sei text/javascript - application/x-javascript. Der Rest steht in http://httpd.apache.org/docs-2.0/mod/mod_mime.html#addtype

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
  2. Hello,

    ich habe ein Problem mit einer externen Javascript Datei. In dieser ist eine Funktion, die mit document.getElementById("id").style.backgroundColor= "#00000" die Hintergrundfarbe eines Formuarfeldes ändern soll. Im IE funktioniert das auch wunderbar, nur bei firefox geht es nicht. Allerdings geht es wiederum wenn man die Funktion direkt in die Seite schreibt.

    Diese Macke hatte ich in einem andern Zusammenhang auch schon erwähnt. Netscape Gecko hat da weohl auch ein Problem. Es scheinen da Timing-Probleme aufzutreten, oder das onLoad-Event wird schon ausgelöst, obwohl die JavaScript-Datei noch nicht fertig bereitgestellt ist.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. hey,

      Diese Macke hatte ich in einem andern Zusammenhang auch schon erwähnt. Netscape Gecko hat da weohl auch ein Problem. Es scheinen da Timing-Probleme aufzutreten, oder das onLoad-Event wird schon ausgelöst, obwohl die JavaScript-Datei noch nicht fertig bereitgestellt ist.

      ich hatte ein ähnliches problem schonmal, dabei war aber nicht die javascript-datei noch nicht fertig, sondern ein erzeugtes popup. in diesem soll dann eine preview einer (aus html-area) geladen werden.

      sieht so aus, vielleicht hilfts ja wat:

      function popUp($myUrl) {
        var popWidth = 580;
        var popHeight = 710;
        URL = $myUrl;
        contentPop = self.document.getElementById("article_content").value;
        //contentPop = contentPop.substr(0, 490);
        nameContentPop = self.document.getElementById("article_name").value;
        teaserContentPop = self.document.getElementById("article_teaser").value;
        var startTime = dateObj.getTime();
        var actTime = dateObj.getTime();
        var popX = screen.width - popWidth - 8;
        myWin = window.open(URL, "displayWindow", 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width = '+popWidth+',height = '+popHeight+',left = '+popX+',top = 0');
        intervalID = setInterval('self.checkPop()',10);
       }

      function checkPop(){
        if(myWin){
         if(popContentID = myWin.document.getElementById("jsArticleContent")){
          if(popNameContentID = myWin.document.getElementById("jsArticleHeader")){
           popTeaserContentID = myWin.document.getElementById("jsArticleTeaser");
                          clearInterval(intervalID);
                          self.setContentPop();
          }
         }
        }
       }

      function setContentPop(){
        preggedContentPop = checkPictureReferences(contentPop);
        if(popContentID.innerHTML = preggedContentPop){
         if(popTeaserContentID.innerHTML = teaserContentPop){
          if(popNameContentID.innerHTML = nameContentPop){
           return true;
          }
         }
        }
       }

      viele grüsse,
      andi

      1. Hello,

        danke für den Tipp.

        Ich experimentiere eben manchmal ganz gerne und habe da mal angefangen, für meine Stammkneipe eine Seite zu basteln. Die sollte eigentlich entsprechend der Fenstergröße skaliert werden, so wie das mit Flash geht, aber eben hier nur mit JavaScript.

        Da habe ich mir dann ein paar Hässlichkeiten einfallen lassen. Das hat am Anfang auch funktioniert, solange der JS-Code noch in jeder Seite direkt definiert war. Nun gehts nur noch im IE und alle anderen spinnen (bzw. wollen eben mein Geschreibsel nicht) Zwischendurch haben sie dann alles so miniaturisiert, dass es fast auf ein Pixel minimiert ist *gg*

        Wenn man dann da reinklickt, ist die Seite aber plötzlich wieder da.

        Das muss natürlich dringend aufgeräumt werden...

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau