![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Verplanter Benutzer Registriert seit: 14.12.2004
Beiträge: 227
|
Hallo, wie kann ich mit php prüfen ob der client ajax versteht ? steh mal wieder voll im Wald ...
__________________ Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut. Ich such immer noch den Cheat für unlimited money! |
| | |
| | Nach oben #2 |
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 521
|
Dazu muss Ajax irgendwie "aktiv" werden, daran erkennst du, dass es funktioniert. Also einfach im HTML einen Ajax-Aufruf einbauen html Code:
PHP-Code:
__________________ Weißt Bescheid - Scheiß wie weit |
| | |
| | Nach oben #3 | |
| Christian W. Achatz Registriert seit: 05.02.2007 Ort: München
Beiträge: 132
| Zitat:
__________________ Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a look at http://www.adventure-php-framework.org! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| | |
| | Nach oben #4 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.213
|
Kann denn jeder Browser, der JS aktiviert hat auch automatisch AJAX?
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #5 |
| Martin Eisengardt Registriert seit: 30.03.2006 Ort: Pfinztal
Beiträge: 355
|
Die aktuellen Ja. Die ganz alten nicht. Wobei du dann aber JS-Fehler provozierst. Die Frage ist, ob sie die entsprechenden Objekte zur Verfügung stellen, um HTTP-Requests abzusetzen. Im übrigen ist das auch von Browser zu Browser leicht unterschiedlich.
__________________ Open Sourcing the Online Gaming Universe PHP/SQL/Java/C++/Assembler. Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html |
| | |
| | Nach oben #6 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.213
|
Okay, hätte ich auch mal getippt, aber ich dachte, ich nutze die Chance doch gleich mal zur Klärung der Frage. Da es ja nun nicht wirklich eine PHP-Frage ist, habe ich den thread entsprechend verschoben.
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #7 |
| Lutz Registriert seit: 14.08.2005 Ort: Nienburg / Weser
Beiträge: 684
|
Nur als Ergänzung: Wenn man eh schon dabei ist AJAX abzuprüfen, hätte ich noch folgenden Vorschlag, wie ich es in meiner eigenen kleinen Ajax-Klasse realisiert habe: Code: var objectAjax =
{
// [...]
// Speichert, ob mit Ajax gearbeitet werden kann
booleanAjaxIsFunctional: false,
// Zählt die Versuche den BODY als Object zu laden
integerWaitCount: 0,
// [...]
methodCheckAjaxFunctionality: function ()
{
// BODY als Object speichern
objectNodeBody = document.getElementsByTagName ("body")[0];
// Wenn die Seite beim Aufruf der Methode noch nicht vollständig geladen wurde
// ist der BODY noch nicht verfügbar, entsprechend wird die Methode nach einer
// kurzen Pause erneut geladen.
if (objectNodeBody != null)
{
// Erstellen eines FORM- und eines INPUT-Nodes
var objectNodeForm = document.createElement ("form");
var objectNodeInputHidden = document.createElement ("input");
// Füllen des INPUT-Nodes mit 'type="hidden" id="inputHiddenCheckNode"
// value="false"'
objectNodeInputHidden.setAttribute ("type",
"hidden"
);
objectNodeInputHidden.setAttribute ("id",
"inputHiddenCheckNode"
);
objectNodeInputHidden.setAttribute ("value",
"false"
);
// Anhängen des INPUT-Nodes an den FORM-Node
objectNodeForm.appendChild (objectNodeInputHidden);
// Anhängen des FORM-Nodes an den BODY-Node
objectNodeBody.appendChild (objectNodeForm);
// Speichern des angehängten INPUT-Nodes
var objectNodeInputHidden = document.getElementById ("inputHiddenCheckNode");
// Ändern des INPUT-Node-Wertes auf "true"
objectNodeInputHidden.value = "true";
// Prüfen, ob die Änderung erfolgreich durchgeführt wurde
if (objectNodeInputHidden.value == "true")
{
this.booleanAjaxIsFunctional = true;
}
// Entfernen des FORM-Nodes
objectNodeBody.removeChild (objectNodeBody.lastChild);
}
else
{
// Hier wird mitgezählt, wie oft bereits versucht wurde, den BODY als Objekt zu laden
this.integerWaitCount++;
if (this.integerWaitCount > 10)
{
// Der BODY konnte innerhalb der gesetzten Zeit (10 x 250ms = 2,5s) nicht als Objekt geladen werden
this.objectAjax = null;
}
else
{
// Erneuter Aufruf der Methode methodCheckAjaxFunctionality() im Object objectAjax nach 250ms
window.setTimeout ("objectAjax.methodCheckAjaxFunctionality ();",
250
);
}
}
},
// [...]
}
// Aufruf der Methode methodInitialize() im Object objectAjax zur Laufzeit
objectAjax.methodInitialize ();
EDIT: Habe eben auch nochmal nach der Einstellung gesucht, sie aber doch nicht mehr gefunden, war das vielleicht nur bei früheren Browsern so? Hatte nämlich mal ein Problem, dass AJAX selber funktionierte, die Daten sich in der Seite aber nicht ändern ließen. Wenn das heutzutage nicht mehr so ist, wäre die Funktion oben vollkommen überflüssig, weiß da jemand mehr?
__________________ Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll Geändert von MrNiceGuy (22.02.2008 um 13:41 Uhr). |
| | |
| | Nach oben #8 |
| Verplanter Benutzer Registriert seit: 14.12.2004
Beiträge: 227
|
Also die Frage hatte ich nur da ich mein cms durch ajax etwas aufbohren wollte, was da lautet dass Wenn der Client und/oder Browser das Unterstützt wird meine interne cms-Ajax php classe geladen und demnach wird dann auch für das cms Ajax = true gesetzt was im template ja Links automatisch umsetzt und oder auch Formulare prüft ... ziel sollte sein (zumindest stelle ich mir das so vor zB. bei den Links das die dann entweder automatisch per Html oder Ajax umgesetzt werden. So auch die Formulare entweder strikt per Html usw. oder eben mit Ajax features die in der ajax.js stehen .... Also nicht die Whansinns Umsetzung durch Ajax sonder eher Details als Ergänzung ... krebs leider erst am Anfang rum mit ajax, daher wäre alleine dieser Schritt für mich das erste Todo um das zu Integrieren. Oder bin ich da irgendwie Sinnbefreit in der Thematik unterwegs !? Werd nochma bissi Suchen und lesen.
__________________ Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut. Ich such immer noch den Cheat für unlimited money! |
| | |
| | Nach oben #9 |
| Johannes Müller Registriert seit: 15.09.2005 Ort: Königreich Flieden
Beiträge: 521
|
Also um diese Beispiele umzusetzen, würde ich dir raten, ein voll-funktionsfähiges HTML-Template zu verwenden, dass auch ohne Ajax alle Möglichkeiten bietet, wenn auch ggf. etwas umständlicher. Aber dadurch wird gewährleistet, dass auch User ohne Ajax im Funktionsumfang nicht eingeschränkt werden. Die von dir beschriebenen Ajax-Features können dann - bei funktionsfähigem Ajax - die generierte HTML-Seite etwas aufpolieren. Aber dafür sollten eigentlich keine serverseitigen Änderungen benötigt werden, entweder wird die eingebundene JS-Datei korrekt ausgeführt, oder nicht. Dann ist es für den Server egal, ob der User Agent Ajax kann und aktiviert hat oder nicht.
__________________ Weißt Bescheid - Scheiß wie weit |
| | |
| | Nach oben #10 |
| Verplanter Benutzer Registriert seit: 14.12.2004
Beiträge: 227
|
Genau das ist es, aber wenn ich das js file einbinde oder nicht im csm sollte ich schon per php im ersten Aufruf wissen ob ja oder nein ... daher auch die Frage wie @ php .... aber ich lese mal ... meld mich wenn ich planloser bin.
__________________ Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut. Ich such immer noch den Cheat für unlimited money! |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [AJAX] Eine Einführung in AJAX und XMLHttpRequest | Jay | Tutorials | 1 | 08.12.2006 16:21 |
| Server - Client: Befehle und Identifizierung | WarrenFaith | Allgemeine Java-Programmierung | 3 | 08.08.2006 20:09 |
| AJAX Theme Engine für Wordpress | PaterNoster | Plauderecke | 0 | 17.11.2005 21:48 |
| Netzwerk / Thread syncronisieren | sparrow | Allgemeine Java-Programmierung | 4 | 16.11.2005 21:11 |
| Sockets: Verbindung prüfen | Zero83 | Allgemeine Java-Programmierung | 8 | 12.10.2005 13:56 |