• Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick
  • November - das bedeutet oftmals Herbstblues, grauer Himmel, Tristesse und Wetter, bei dem man gern im Warmen bleibt. Aber nur oftmals! Wir fordern Euch gern auf, gegen den Herbstblues anzukämpfen und hoffen, dabei hilft Euch unser aktuelles Monatsthema. Neugierig geworden? --> Zum Mitmachen bitte hier klicken

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