php.de

Zurück   php.de > php.de Intern > Beitragsarchiv

Beitragsarchiv Nur gucken, nichts anfassen. Das Archiv der Beiträge vergangener Zeiten.

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.02.2008, 17:36  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Zergling,

das kann ich dir leider nicht so beantworten. Ich habe mal gesehen, dass Objekte GUIDs haben, ob das immer so ist, weiß ich Java Script DAU nicht wirklich...
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.02.2008, 20:10  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Christian,

ich kann deinen Fehler immer noch nicht nachvollziehen.
Im Firefox funktioniert es, im IE aber nicht?
Denn dieser Code
Code:
var entry_message = responseXML.getElementsByTagName('entry').item(0).childNodes[1].textContent;
sollte generell nicht funktionieren (siehe unten).

Ich habe deine XML-Datei mal bei mir Lokal gespeichert und dann folgendes probiert:

js/adventure.js
Code:
window.onload = initAjax;

function initAjax (){
	
	/* Funktion erzeugt das HTTP-Objekt */
	function makeHTTPObject() {
		try {return new XMLHttpRequest();}
		catch (error) {}
		try {return new ActiveXObject("Msxml2.XMLHTTP");}
		catch (error) {}
		try {return new ActiveXObject("Microsoft.XMLHTTP");}
		catch (error) {}
  
		throw new Error("Could not create HTTP request object.");
	}
	
	/* Funktion gibt Inhalte des response aus */
	function alertResponse() {
		// readyState 4 = fertig geladen
		if (rq.readyState == 4) {
			
			/**
			 * NICHT möglich, da getElementsByTagName keine Funktion
			 * des Request-Objektes ist!
			 */
			//alert(rq.getElementsByTagName('headline').item(0).firstChild.data);
			
			/**
			 * Es muss erst ein Objekt erzeugt werden, um mit dem
			 * XML-Dokument arbeiten zu können!
			 */
			var xmlDok = rq.responseXML;
			
			
			/* ACHTUNG ! */
			alert("firstChild.nodeName:\n"+xmlDok.firstChild.nodeName);
			/**
			 * Ausgabe:
			 * Firefox -> "news"
			 * Opera -> "#text"
			 * IE 6 -> "xml"
			 */
			
			alert(xmlDok.getElementsByTagName('headline').item(0).firstChild.data);
			/**
			 * Ausgabe:
			 * Firefox, Opera, IE6 : "Headline news 2"
			 */
		}
	}
	
	/* request-Objekt erzeugen */
	var rq = makeHTTPObject();
	
	/* alertResponse bei Statusveränderung aufrufen */
	rq.onreadystatechange = alertResponse;
	
	/* XML-Datei asyncron laden (und etwas senden ...) */
	rq.open("GET", "files/news.xml", true);
	rq.send(null);
	
	/**
	 * ACHTUNG! dieser Code wird schon ausgeführt,
	 * während die XML-Datei noch geladen wird !!!
	 * (je nach Geschwindigkeit bzw. Cache)
	 * -> Provoziert im IE einen "Fehler"
	 */
	alert("Außerhalb der onreadystatechange function:\n"+
			rq.responseText);
}
Ausgaben stehen in den Kommentaren im Script.
phpdummi ist offline  
Alt 05.02.2008, 15:58  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Alex,

irgendwie stehe ich auf dem Schlauch. Ja, ich habe genau den Effekt, dass ich im FF, bzw. Opera ein für mich korrektes Verhalten bekomme, der IE schmeißt einen Fehler, den ich nich näher debuggen kann, weil mir ein sinnvolles Werkzeug (wie Firebug) fehlt.

Zitat:
Denn dieser Code
Code:
var entry_message = responseXML.getElementsByTagName('entry').item(0).childNodes[1].textContent;
sollte generell nicht funktionieren (siehe unten).
Warum? In deinem Beispiel zeigst du, dass

Code:
alert(rq.getElementsByTagName('headline').item(0).firstChild.data);
nicht funktioniert, was ich auch verstehe. Ich referenziere jedoch mit

Code:
var responseXML = xhttp.responseXML
zunächst die Property responseXML. Diese sollte laut Spezifikation ein document enthalten. Bei FF und Opera ist das der Fall, beim IE nicht, obwohl ich das XML genau mit der selben Methode sende.

Meine Vermutung war zunächst, dass der IE kein UTF-8 scheckt, aber auch dieser Test fiel negativ aus.

Ich werde jetzt mal das Tutorial veröffentlichen, dann siehst du den kompletten Quellcode und wir können nochmal drüber diskutieren.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 05.02.2008, 17:00  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo zusammen,

der angesprochene Artikel ist nun unter http://www.adventure-php-framework.o...nguage/lang/en verfügbar.

@Alex: Du kannst die News-Box nun auch mal ausprobieren, vielleicht bringt das weiter...
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
getelementsbytagname textcontent, documentelement getelementsbytagname firstchild.data ie, php analyze dom document, getelementsbytagname textcontent ie, getelementsbytagname firstchild ie6, ie xml.documentelement.getelementsbytagname, gucken was im dom steht ie

Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.