IE / Mozilla bei JS

Dieses Thema IE / Mozilla bei JS im Forum "Windows XP Forum" wurde erstellt von Sempervivum, 8. Aug. 2005.

Thema: IE / Mozilla bei JS Liebe Webentwickler, ich habe Skripte gesehen, die die Funktion getElementById() verwenden und sowohl im IE als auch...

  1. Liebe Webentwickler,
    ich habe Skripte gesehen, die die Funktion getElementById() verwenden und sowohl im IE als auch bei Mozilla laufen - ohne dass browserspezifische Eigenschaften abgefragt werden. Bei meinem will das aber nicht funktionieren:
    http://www.ulrichbangert.de/tmp/flyin/flyin3.html
    IE meldet in Zeile 68 Zeichen 5 einen Fehler (aber in Zeile 67 nicht). Was mache ich falsch? Habe das Problem dann so gelöst:
    http://www.ulrichbangert.de/tmp/flyin/flyin6.html
    (Funktion init()) aber würde gern wissen, ob es nicht einfacher geht.
    Viele Grüße - Ulrich
     
  2. Keiner ein Idee? Oder hätte ich nicht nur die Skripte posten sollen?
    Anlegen einer Liste mit Objekten:
    Code:
    obj[i] = document.getElementById(ids[i]).style
    Dann positionieren:
    Code:
    Zeile 67: obj[i].position = absolute
    Zeile 68: obj[i].left = startpos[i]
    Fehler links in Zeile 68, aber nicht in 67.
    Meine Lösung:
    Code:
      if (document.all) {
       obj[i] = eval (ids[i] +->.style') // IE
       } else {
       obj[i] = document.getElementById(ids[i]).style // Mozilla
       }
    
    Mit Firefox funktioniert es in der ersten Version. Wie gesagt, ich habe Skripte gesehen ohne die Abfrage einer browserspezifischen Eigenschaft, die auch mit IE gehen.
    Gruß - Ulrich
     
  3. Ich nehme für sowas immer diese Dreamwever Funktion zum Objekt suchen

    Code:
    // Object finden
    function MM_findObj(n, d) { //v4.01
     var p,i,x; if(!d) d=document; if((p=n.indexOf(?))>0&&parent.frames.length) {
      d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
     if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
     for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
     if(!x && d.getElementById) x=d.getElementById(n); return x;
    }
    
    Jetzt kannst du deine Objekte, egal welcher Browser, ganz einfach ansprechen.

    Code:
    obj[i] = MM_findObj(ids[i]);
    obj[i].style.position = absolute;
    obj[i].style.left = startpos[i];
    
    oder

    Code:
    obj[i] = MM_findObj(ids[i]);
    obj[i].style.position = absolute;
    obj[i].style.left = eval(startpos[i]);
    
     
Die Seite wird geladen...

IE / Mozilla bei JS - Ähnliche Themen

Forum Datum
Mozilla firefox startet mit Bildschirm Auflösung 640 x 480 Web-Browser 17. März 2015
Mozilla Firefox Windows 8 Forum 19. Dez. 2014
Mozilla Firefox in Englischer Version Windows 7 Forum 20. Okt. 2014
Fehlermeldung beim Öffnen von Mozilla Firefox über ein anderes Programm Windows XP Forum 8. März 2012
[SUCHE] Mozilla Firefox version 3.6.10 oder früher!! Windows 7 Forum 12. Nov. 2011