| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Inventar Registriert seit: Jul 2002
Beiträge: 6.882
| JQuery: each() funktioniert im IE nicht Code: $(d).find('route').each( function(i){
//[]
});
__________________ (\__/) (='.'=) (")_(") |
| | |
| | #2 (permalink) |
| Pending… Registriert seit: Jul 2002 Ort: Hamburg
Beiträge: 3.866
|
Bei mir läufts in allen Browsern (IE5.5+) xml: Code: <?xml version="1.0" encoding="UTF-8"?> <root> <section> <route value="thud"/> <route value="wooz"/> <route value="foo"/> <route value="bar"/> <route value="bla"/> </section> </root> Code: $(xml).find('route').each(function(index,node){
alert(node.getAttribute('value'));
});
__________________ :: Warum einfach, wenn's auch kompliziert geht! :: |
| | |
| | #3 (permalink) |
| Inventar Registriert seit: Jul 2002
Beiträge: 6.882
|
poste pls mal deinen kompletten Testcode, meiner geht nämlich immer noch nicht: HTML-Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> //<![CDATA[ $(document).ready( function(){ $.get("routen.xml", function(d){ $(d).find('test').each( function(i){ $('#container').append( $(this).text()+"<br />" ); }); }); }); //]]> </script> </head> <body> <div id="container"> </div> </body> </html> Code: <?xml version="1.0" encoding="ISO-8859-1" ?> <tests> <test id="35"> <sub_test>132245</sub_test> </test> <test id="275"> <sub_test>128234</sub_test> </test> <test id="276"> <sub_test>127744</sub_test> </test> </tests>
__________________ (\__/) (='.'=) (")_(") |
| | |
| | #4 (permalink) |
| Pending… Registriert seit: Jul 2002 Ort: Hamburg
Beiträge: 3.866
|
Wenns hilft. HTML-Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>parse xml</title> <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function(){ $.get("routen.xml", function(transport){ $(transport).find('test').each(function(index,node){ alert(node.getAttribute('id')); }) }); }); </script> </head> <body> </body> </html>
__________________ :: Warum einfach, wenn's auch kompliziert geht! :: Geändert von psyk (11-11-2008 um 22:18 Uhr) |
| | |
| | #6 (permalink) |
| Inventar Registriert seit: Jul 2002
Beiträge: 6.882
|
Während deine Variante bei mir wiederum auch nicht funktioniert... sehr seltsam PS: IE8beta, hab aber auch von andern gehört dass das bei ihnen nter IE7 nicht funktioniert
__________________ (\__/) (='.'=) (")_(") Geändert von Nightflyer (11-11-2008 um 22:53 Uhr) |
| | |
| | #7 (permalink) |
| Pending… Registriert seit: Jul 2002 Ort: Hamburg
Beiträge: 3.866
|
Seitdem ich IE8beta installiert habe, traue den verschiedenen IE's beim Debugging nicht mehr alt zu sehr. Das schreit nach einer zweiten Meinung. Soll heißen, vielleicht kann das ja mal noch jemand anders testen, auf eine IE8 freien Rechner.
__________________ :: Warum einfach, wenn's auch kompliziert geht! :: |
| | |
| | #8 (permalink) |
| nobody is perfect Registriert seit: Jul 2004 Ort: munich
Beiträge: 876
|
Also bei mir geht's im IE auch nicht. Testet ihr etwa offline? Denn da gibt's Probleme im IE. Hatte ich schon mal: Problem mit Spry / xml im IE Wenn ich nun den Workaround in Nightflyer's Beispiel einbaue, dann funktioniert's auch im IE. Bedarf vielleicht noch etwas Feintuning, aber es geht: HTML-Code: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <script src="http://code.jquery.com/jquery-latest.js"> </script> <script type="text/javascript"> //<![CDATA[ $(document).ready(function(){ $.get("routen.xml", function(d){ // das brauchst du für den IE if (window.ActiveXObject) { var toAppend = document.createElement('xml'); // packe den responseText in das innerHTML toAppend.setAttribute('innerHTML', d); // damit man es wiederfindet, eine eindeutige ID toAppend.setAttribute('id','_uniqueID'); // hängt das ganze irgendwo rein document.body.appendChild(toAppend); // suche den XML Zweig anhand der ID und schreib ihn in d d = document.getElementById('_uniqueID'); // abschließend kann man das Tag auch wieder entfernen document.body.removeChild(document.getElementById('_uniqueID')); } $(d).find('test').each(function(i){ $('#container').append($(this).text() + "<br />"); }); }); }); //]]> </script> </head> <body> <div id="container"> </div> </body> </html>
__________________ Geändert von richtsteiger (12-11-2008 um 10:01 Uhr) Grund: Ach sorry, Link war unvollständig |
| | |
| | #9 (permalink) |
| Inventar Registriert seit: Jul 2002
Beiträge: 6.882
|
Das komische ist dass es in einer Test-Version funktioniert (obwohl syntaktisch gleich), in der Version in der es aber dann schliesslich funktionieren soll eben nicht. Werde heute abend mal Step-By-Step debuggen um zu schauen ob ich die Fehlerquelle finde.
__________________ (\__/) (='.'=) (")_(") Geändert von Nightflyer (12-11-2008 um 10:03 Uhr) |
| | |
| | #10 (permalink) |
| nobody is perfect Registriert seit: Jul 2004 Ort: munich
Beiträge: 876
|
Wie ich schon sagte, wenn die nicht funktionierende Geschichte ausschließlich offline unterwegs ist, dann geht's nicht im IE. Online, also wenn die HTML und die XML auf 'nem Webserver liegen, dann geht's halt. Offline brauchst du eben den Workaround.
__________________ |
| | |
| | #13 (permalink) |
| Inventar Registriert seit: Jul 2002
Beiträge: 6.882
|
Kann man, ist allerdings erschwert. http://test.sayphillion.de dann dort anmelden und einloggen. Der Bug tritt in der ansicht Galaxie auf wenn eine Flottenroute gelegt werden soll (klick auf aktuellen Sektor, Routenaktion wählen, auf Zielsektor klicken und nochmals mit klick bestätigen). Die Route sollte dann gelistet werden:
__________________ (\__/) (='.'=) (")_(") |
| | |
| | #14 (permalink) |
| Inventar Registriert seit: Jul 2002
Beiträge: 6.882
|
Nun, nach stundenlangen Tests kann ich folgendes sagen: Dort wo es funktionieren soll, in genau dem Ordner, funktioniert es nicht. Sonst funktioniert es überall. Irgendjemand einen Vorschlag warum eine Funktion vom Verzeichnis abhängig sein könnte? http://test.sayphillion.de/bg/test.html <-- geht nicht http://test.sayphillion.de/bg/themes/default/test.html <-- geht, obwohl nur Pfade geändert
__________________ (\__/) (='.'=) (")_(") |
| | |
| | #15 (permalink) |
| nobody is perfect Registriert seit: Jul 2004 Ort: munich
Beiträge: 876
|
Hm, keine Ahnung, leider. Hast du's mal mit meinem Vorschlag versucht? Vielleicht liefert dir ja in dem Fall, wo's nicht funktioniert, der IE aus unerfindlichen Gründen beim XMLHttpRequest eben nur 'nen responseText aus und kein responseXML. Das kannst du prüfen, indem du dir im IE einfach mal die Daten per alert anzeigen lässt: HTML-Code: ...
$.get("routen.xml", function(d) {
alert(d);
...
}
... jedoch die richtige XML-Struktur an. Und wenn ich dann den schon erwähnten Workaround anwende, dann funktioniert's bei mir auch. Zumindest bei den Beispielen und meinen Problemchen. Ansonsten sorry. Auf alle Fälle ganz dolle Daumen drück.
__________________ |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |