Frage

Ich betreibe ein Browser-basiertes Spiel, bei www.darknovagames.com. Vor kurzem habe ich mit CSS auf eine Neuformatierung der Website gearbeitet, damit alle Seiten bekommen nach dem HTML-Standard zu überprüfen.

Ich habe liebäugelt worden mit dieser Idee auf dem linken Seite AJAX das Navigationsmenü mit den Seiten in (anstatt die Benutzer zu einer anderen Seite jedes Mal nehmen, erfordert einen erneuten Laden der Titel und Navigationsleiste, die so gut wie nie ändern ) und ich weiß, dass, wenn ich so tun, werde ich wohl die Vor- / Zurück-Taste im Browser brechen. Meine Frage, die ich denke, ist, sollte ich voran gehen und AJAX die Seite, so dass der Benutzer die Websites Navigation zu verwenden, um das Spiel zu spielen, oder sollte ich verlassen die Seite, wie es derzeit steht, und verwenden Standard-Hyperlinks und Dinge für die Navigation?

Der Grund, warum ich frage ich denke, dass ich ein Foren-System in die Website gebaut, und viele Male, die ich möchte in den Foren ein bestimmtes Thema verknüpfen sagen.

Ich bin auch offen für Vorschläge. Gibt es einen Standard (vorzugsweise ohne traditionelle Frames) Art und Weise nur die Körperoberfläche des Reload zu machen, während immer noch die URL zu ändern, so dass Benutzer können Lesezeichen und nach vorne / hinten, etc? Das könnte möglicherweise auch mein Problem lösen. Ich frage nur, um die beste Lösung hier nicht eine Antwort auf eine spezifische Frage. ^ _ ^

Danke

War es hilfreich?

Lösung

Wenn Sie vorhaben, AJAX zu aktivieren, tun Sie es nicht auf Kosten auf Ihrer Website zu jeder bedeutenden Seite zugänglich URLs zu haben. Dies ist das Rückgrat einer schiffbaren Website, dass die Menschen nutzen können.

Wenn Sie schaufeln alle Funktionen in AJAX-Aufrufe und Rückrufe, sind Sie im Grunde zwingt die Benutzer in einem einzigen Pfad, um die Funktionen für den Zugriff auf und die Inhalte, die sie wollen - das ist völlig gegen, wie das Web gemeint ist, zu funktionieren. Die Menschen verlassen sich auf die Adressleiste und die Zurück-Taste. Wenn Sie alle Ihre Links außer Kraft setzen, so dass Ihre Website im Wesentlichen eine einzige Seite ist, die nur durch AJAX aktualisiert, werden Sie Ihre Fähigkeit der Benutzer Begrenzung Ihrer Website zu navigieren und finden, was sie brauchen. Es hält auch die Benutzer von der Möglichkeit, zu teilen, was sie finden (was, dass ein Teil des Punktes ist, nicht wahr?).

Denken Sie über eine mentale Karte von Ihrer Website des Benutzers. Wenn sie wissen, sie kamen über die Homepage in, dann gingen sie nach etwas zu suchen, dann landeten sie auf einer Spiele-Seite, dann begann sie ein bestimmtes Spiel zu spielen, das ist vier verschiedene Einheiten der Aktion, die der Benutzer hat. Sie haben vielleicht ein paar andere kleinere, unbedeutende Aktionen auf jeder dieser Seiten getan - aber das sind die Haupteinheiten. Wenn sie auf die Schaltfläche Zurück klicken, sollten sie erwarten, durch den Weg zu gehen zurück auf sie kamen. Wenn Sie alle diese Seiten durch AJAX Anrufe werden geladen, sind Sie eine Website, deren Funktionalität die Bereitstellung steht im Gegensatz zu dem, was der Benutzer erwartet.

Brechen Sie Ihre Website aus in jede wichtige Funktion (dh, suche, nach Hause, Profile, Spiele - es wird von diktiert werden, was Ihre Website dreht sich alles um). Überall Link auf diesen Seiten, tun es durch eine regelmäßige Verbindung und einer statischen URL.

AJAX ist in Ordnung. Aber die Kunst, es ist zu wissen, wann es anzuwenden ist und wann nicht. Wenn Sie auf das Modell halten Ich habe oben skizziert, die Benutzer wird es zu schätzen wissen.

Andere Tipps

Mit Ajax für Teile der Seite, die aktualisiert werden muss, nicht die ganze Sache. Dafür sollten Sie Vorlagen verwenden.

Wenn Sie wollen immer noch die Zurück-Taste für Ihre verschiedene Zustandsänderungen auf der Seite erhalten, kombinieren sie mit # achors die URL zu ändern (ohne den Browser zu zwingen, eine anderen GET zur Ausgabe).

Zum Beispiel gmail die wie folgt aussieht:

mail.google.com/#inbox/message-1234

alles vorbei # war eine Seite Zustandsänderung, die über Ajax passiert ist. Wenn ich zurück drücken, werde ich wieder in den Posteingang gehen (wieder, ohne einen anderen Browser GET)

Schauen Sie sich reallysimplehistory . Das Wiki wurde für 10 Monate nicht aktualisiert, aber ich war einfach an der Ajax Experience 2008 und sah eine

Eine andere Lösung:

AJAX Paginierung & Back Button

Dies scheint die beste da draußen zu sein, arbeitet mit JQuery und Mootools.

Es gibt zahlreiche Möglichkeiten, die dieses Problem mit flippigen Javascript Techniken zu lösen, oft iframes beteiligt, aber ich denke, in dieser Situation, die Sie hinterfragen müssen, warum Sie AJAX verwenden. Wird es tatsächlich die Seite einfacher zu verwenden, um den Benutzer zu machen? Es klingt für mich wie Sie es verwenden cos Sie seinen kühlen denken (was an sich nicht immer eine schlechte Sache ist) nicht, weil es tatsächlich einen beliebigen Wert für Ihre Besucher hinzufügen. Von jeder normalen Website, sind normale verlinkte Dokumente fast immer das Richtige für die primäre Navigation. Sein, was die Menschen erwarten, und ich würde Ihnen nicht empfehlen, diese Erwartungen zu brechen gehen um basierend auf einem ausgefallenen Technologie.

AJAX ist genial und ermöglicht es Ihnen, viele große Dinge zu tun, ändert ein Webseiten-Navigation nicht einer von ihnen ist.

Gut gemacht für obwohl auf dieses Problem Aufnehmen, Theres viele Websites gibt, die nur mit AJAX voran gehen und denken Sie nicht einmal darüber!

Versuchen Sie diese einfache und leichte Bauweise PathJS lib. Es ermöglicht Zuhörer direkt an Anker zu binden.

Beispiel:

Path.map("#/page").to(function(){
    alert('page!');
});

AJAX ist nicht die beste Lösung für die Navigation aus genau dem Grund, den Sie beschreiben. Der Treffer zum Nachladen des Headers und navbar minimal ist, um den Streit im Vergleich des Browsers des Navigations-Benutzeroberfläche zu brechen.

Ein geeignetes Beispiel von AJAX wäre Benutzer zu ermöglichen, das Spiel im Hauptfenster zu spielen, während sie durch eine Liste von anderen Inhalten in einer Navigationsbereich durchsuchen. Sie könnten, ohne die Gameplay zusätzliche Elemente in dem nav Bereich über AJAX laden.

Ich würde Stick mit einfachen Hyperlinks. Ihre Seite Möbel sollen nicht machen einen großen Teil des HTML, also ist es nicht ein großer Gewinn aus Seitenanforderungen ausgenommen. jede Ressource adressierbar zu machen (das heißt eine URL für jedes Bit der Inhalte ein Benutzer interessiert sein könnte) ist ein Schlüsselmerkmal der Bahn. Es bedeutet, Caching arbeiten können, und bedeutet, dass Benutzer Lesezeichen teilen können. Es macht Google Arbeit, sowie Social-Bookmarking-Sites.

Rasieren ein paar HTML nachfolgende Seite Änderungen Bytes aus ist nicht die Mühe wert, meiner Meinung nach.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top