[JavaScript] JS, DOM, AJAX - Border im IE nicht angezeigt.

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Telefonzelle, 18. August 2007 .

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 18. August 2007
    JS, DOM, AJAX - Border im IE nicht angezeigt.

    Hi.
    Ich probier derzeitig n bisschen mit DOM AJAX und dem Kram rum, und folgende "Seite" ist dabei rausgesprungen:

    XML Parsing

    Im Firefox werden die Border korrekt angezeigt, im Internet Explorer jedoch gar nicht.
    Code:
    [FONT=monospace]
    [/FONT]Divs['header'].setAttribute('style','margin-left:auto;margin-right:auto;border:1px solid #000000;margin-bottom:10px;text-align:left;width:300px;');
    Wenn jemand weiß warum... ich weiß es nicht. :D
    Bzw wie kann ich das verhindern?

    MfG.


    Falls jemand zu faul ist auf den Link zu klicken, hier die Sources:

    index.html
    Spoiler
    Code:
    <html>
     <head>
     <title>My XML Parsing</title>
     <script type="text/javascript" language="javascript">
     function newAjax() {
     c = null;
     try {
     c = new XMLHttpRequest();
     } catch (Error) {
     try {
     c = new ActiveXObject("MSXML2.XMLHTTP");
     } catch (Error) {
     try {
     c = new ActiveXObject("Microsoft.XMLHTTP");
     } catch (Error) {
     alert("Unable to create XMLHttpRequest Object. Aborting.");
     }
     }
     }
     return c;
     }
     function get(c,url,callback) {
     c.open('get',url);
     eval("c.onreadystatechange = "+callback);
     c.send(null);
     }
     function parsexml() {
     if(c.readyState == 4) {
     xml = c.responseXML;
     content = document.getElementById('div_content');
     texte = xml.getElementsByTagName('text');
     textCount = xml.firstChild.firstChild.childNodes.length;
     thisData = new Array();
     for(i=0;i<textCount;i++) {
     thisData['text'] = xml.firstChild.firstChild.childNodes[i].firstChild.nodeValue;
     thisData['div'] = xml.firstChild.firstChild.childNodes[i].getAttribute('div');
     document.getElementById(thisData.div).innerHTML = thisData.text;
     }
     }
     }
     function loadXML() {
     x = newAjax();
     get(x,'data.xml','parsexml'); 
     }
     window.onload = function() {
     Divs = new Array();
     Texte = new Array();
     document.body.style.textAlign = 'center';
     
     Texte['head'] = document.createTextNode('Head');
     Texte['content'] = document.createTextNode("Content");
     
     
     Divs['root'] = document.createElement('div');
     Divs['root'].setAttribute('style','text-align:center');
     
     Divs['header'] = document.createElement('div');
     Divs['header'].setAttribute('style','margin-left:auto;margin-right:auto;border:1px solid #000000;margin-bottom:10px;text-align:left;width:300px;');
     Divs['header'].setAttribute('id','div_head');
     
     Divs['content'] = document.createElement('div');
     Divs['content'].setAttribute('style','margin-left:auto;border:1px solid #000000;margin-right:auto;text-align:left;width:300px');
     Divs['content'].setAttribute('id','div_content');
     
     Divs['content'].appendChild(Texte['content']);
     Divs['header'].appendChild(Texte['head']);
     
     Divs['root'].appendChild(Divs['header']);
     Divs['root'].appendChild(Divs['content']);
     Divs['content'].appendChild(document.createElement('br'));
     document.body.appendChild(Divs['root']);
     loadXML();
     }
     </script>
     </head>
     <body>
     </body>
    </html>
    

    data.xml
    Spoiler
    Code:
    <xml><texte><text div="div_head">Welcome to my page</text><text div="div_content">Oh my god. this comes directly out of "data.xml" dude.</text></texte></xml>
    

    PS:
    Allgemeine Verbesserungsvorschläge für den Code sind natürlich auch gerne gesehen. Hab mir vor kurzem 'n Buch - AJAX mit PHP - gekauft und probier halt jetzt n bisschen rum.. ;)
     

  2. Anzeige
    Dealz: stark reduzierte Angebote finden.
  3. #2 18. August 2007
    AW: JS, DOM, AJAX - Border im IE nicht angezeigt.

    versuch's lieber über element.style.border - setAttribute ist recht buggy im IE und sehr unzuverlässig.

    alternativ geht Document Object Model CSS
    Code:
    elem.style.cssText = "border: 1px solid black; background-color: #ff0000;"
    
     
  4. #3 18. August 2007
    AW: JS, DOM, AJAX - Border im IE nicht angezeigt.

    Werd's nacher mal ausprobieren.
    Hab mich gestern noch gefragt:

    Code:
     eval("c.onreadystatechange = "+callback);
    
    Kann man das auch "einfacher" machen? Ohne eval()?
    In "callback" wird der Name der Funktion, welche aufgerufen werden soll, übergeben.

    MfG.
     
  5. #4 18. August 2007
    AW: JS, DOM, AJAX - Border im IE nicht angezeigt.

    nein, geht nicht anders :)
    das ist ne referenz und muss eigentlich normal angegeben werden
    d.h. da kann nicht einfach ein string hin
    durch eval wird das halt ein bisschen umgangen ;)
     

  6. Videos zum Thema
Die Seite wird geladen...
Similar Threads - JavaScript DOM AJAX
  1. Antworten:
    3
    Aufrufe:
    1.371
  2. Antworten:
    3
    Aufrufe:
    1.498
  3. Antworten:
    2
    Aufrufe:
    527
  4. Antworten:
    3
    Aufrufe:
    438
  5. Antworten:
    0
    Aufrufe:
    3.677
  • Annonce

  • Annonce