• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Ajax JS-Funktion funktioniert unter anderem nur unter WebKit

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
Code:
function ShowPostsOfSite(Forumname,Seite){
	if(Seite!=1){
		PostSeite=Seite;
		PostNr=Seite*PostsProSeite-19;
                // beide Variablen sind ansonsten 1
	};
	var reqReloadPosts=new XMLHttpRequest();
	reqReloadPosts.open('GET','Includes/Posts/angezeigtePosts.php?Forum='+Forumname+'&SeitenNr='+PostSeite+'&PostsProSeite='+PostsProSeite,true);
	reqReloadPosts.send();
	reqReloadPosts.onreadystatechange=function(){
		if(reqReloadPosts.readyState==4){
			document.getElementById('angezeigtePosts').innerHTML=reqReloadPosts.responseText;
		}
	}
	PostSeite=1;
	PostNr=1;
	Forum=Forumname;
}

so 2 Probleme:
1. Es funktionier nur unter WebKit, also Safari bzw Google Chrome und andere WebKit basierenden Browser
2. bei dem Aufruf mit ShowPostsOfSite(Forum,1) klappt alles wunderbar, auch wenn die Seitenzahl verändert wird, sobald ich aber die Variable Forumname anders belege, wird nicht einmal die eine Request zum Server ausgeführt.
 
Ich kann dir hier nur einen allgemeinen Tipp geben: damit der Ajax Zugriff unter möglichst vielen Browsern funktioniert, empfiehlt es sich ein Framework wie zum Beispiel prototype zu verwenden (ist auf der angegeben Seite gut dokumentiert). Damit erspart man sich die Unterscheidung nach verschiedenen Browsern und vielleicht auch einige Probleme.
 
Übernimm/Probier mal den Code aus dem Beispiel, was bei mir prima funktionierte:

http://jibbering.com/2002/4/httprequest.html

dann sollte es passen.

Ich selber verwende mittlerweile Prototype oder JQuery, da sich einige Dinge eleganter lösen lassen. Der Nachteil ist dann aber ca. 80 - 160kb mehr overhead von dem Framework. So gesehen kann also Dein individueller Code Vorteile bringen.

viel Erfolg

Kiteman
http://www.gotaormina.com