AJAX et le Bouton précédent du Navigateur
Je lance un jeu basé sur un navigateur à www.darknovagames.com. Récemment, j'ai travaillé sur le reformatage du site avec CSS, essayant de toutes ses pages à vérifier selon le standard HTML.
J'ai joué avec cette idée d'avoir le menu de navigation sur la gauche de l'AJAX pages (plutôt que de prendre l'utilisateur vers une page distincte à chaque fois, nécessitant un rechargement du titre et de la barre de navigation, qui ne changent presque jamais) et je sais que si je le fais, je vais probablement briser le Avant/Arrière boutons dans le navigateur. Ma question je suppose que c'est, dois-je aller de l'avant et AJAX le site, les obligeant l'utilisateur à utiliser les sites de navigation pour jouer le jeu, ou dois-je laisser le site tel qu'il est actuellement, et utiliser les liens hypertexte et des choses pour la navigation?
La raison pour laquelle je demande, je pense que j'ai construit un forums système dans le site, et beaucoup de fois je voudrais le lien dire à un sujet en particulier dans les forums.
Je suis aussi ouvert à toutes les suggestions. Est-il un standard (de préférence sans les cadres classiques) de manière à ne faire que le corps de la zone du site de rechargement, tout en changeant l'URL de sorte que les utilisateurs peuvent marquer et avant/arrière, etc? Qui pourrait résoudre mon problème. Je demande juste pour la meilleure solution ici, pas de réponse à une question spécifique. ^_^
Grâce
Vous devez vous connecter pour publier un commentaire.
Si vous allez permettre à l'AJAX, ne pas le faire au détriment de l'accessibilité des Url pour chaque page de votre site. C'est l'épine dorsale d'un navigables site que les gens peuvent utiliser.
Lorsque vous pelle à toutes vos fonctionnalités en AJAX appels et de rappels, vous êtes essentiellement en forçant vos utilisateurs dans un seul chemin pour accéder aux fonctionnalités et au contenu qu'ils veulent, - ce qui est tout à fait contraire à la façon dont le web est destiné à fonctionner. Les gens comptent sur la barre d'adresse et le bouton de retour. Si vous remplacez tous vos liens afin que votre site est essentiellement une page unique que seules les mises à jour via AJAX, vous êtes à la limitation de la capacité de vos utilisateurs à naviguer sur votre site et de trouver ce dont ils ont besoin. Il s'arrête aussi à vos utilisateurs d'être en mesure de partager ce qu'ils trouvent (qui, qui fait partie de la point de, droite?).
Penser à un utilisateur de la carte mentale de votre site. Si ils savent qu'ils sont venus par le biais de la page d'accueil, puis ils sont allés à la recherche de quelque chose, puis ils ont atterri sur une page des jeux, puis ils ont commencé à jouer à un jeu en particulier, c'est quatre unités distinctes de l'action que l'utilisateur a pris. Ils auraient pu le faire quelques autres plus petites, plus insignifiant des actions sur chacune de ces pages, mais ce sont les unités principales. Lorsqu'ils cliquent sur le bouton de Retour, ils doivent s'attendre de revenir en arrière dans le chemin ils sont arrivés. Si vous êtes le chargement de toutes ces pages à travers des appels AJAX, vous êtes fournissant un site dont la fonctionnalité est contraire à ce qu'attend l'utilisateur.
Casser votre site dans chaque fonction importante (c'est à dire, de recherche, d'accueil, de profils, de jeux, ça va être dicté par ce que votre site est tout au sujet). N'importe où vous accédez à ces pages, de le faire par le biais d'un lien régulier et une URL statique.
AJAX est très bien. Mais l'art c'est de savoir quand l'utiliser et quand ne pas. Si vous gardez le modèle que j'ai esquissé ci-dessus, vos utilisateurs apprécieront.
Utiliser ajax pour des parties de la page qui doit mettre à jour, pas la chose entière. Pour cela vous devez utiliser des modèles.
Quand vous voulez encore de préserver le bouton retour pour vos différents changements d'état sur la page de les combiner avec d' # achors pour modifier l'url (sans forcer le navigateur à un autre problème GET).
Par exemple, gmail ressemble à ceci:
mail.google.com/#inbox/message-1234
tout passé le # est une page de modification de l'état qui s'est passé via ajax. Si j'appuie sur le Dos, je vais aller à la boîte de réception de nouveau (encore une fois, sans un autre navigateur GET)
Découvrez reallysimplehistory. Le wiki n'a pas été mis à jour depuis 10 mois, mais j'étais juste à l'Ajax Expérience de 2008 et a un présentation par Brian Dillard sur elle. Il dit 0,8 code est sur son disque dur. J'espère qu'il sera téléchargeable prochainement.
Une autre solution:
Pagination AJAX & Bouton de Retour
Ce qui semble être le meilleur qui existe, fonctionne avec JQuery & Mootools.
Il existe de nombreuses façons de résoudre ce problème en utilisant funky Javascript techniques, impliquant souvent des iframes, mais je pense que dans cette situation, vous devez vous demander pourquoi vous êtes en utilisant AJAX. Est-il réellement de rendre le site plus facile à utiliser pour l'utilisateur? Il me semble que vous l'utilisez cos vous pensez que c'est cool (ce qui en soi n'est pas toujours une mauvaise chose), non pas parce qu'il va ajouter de la valeur à vos visiteurs. Partir de n'importe quel site web normal, normal hypertexte des documents sont presque toujours la bonne chose pour la navigation principale. Ses ce que les gens attendent et je ne vous recommande pas d'aller autour de la rupture des attentes fondées sur un peu de fantaisie à la technologie.
AJAX est génial et permet de faire beaucoup de grandes choses, le changement d'un des sites web de navigation n'est pas l'un d'eux.
Bien fait pour ramasser sur ce problème, il ya beaucoup de sites là-bas que simplement aller de l'avant avec l'AJAX et ne pensez même pas à ce!
Essayez ce simple & léger PathJS lib. Il permet de lier les auditeurs directement à des points d'ancrage.
Exemple:
AJAX n'est pas la meilleure solution pour la navigation exactement pour la raison que vous décrivez. Du coup pour le rechargement de l'en-tête et la barre de navigation est minime par rapport aux tracas de la rupture de la navigation de l'INTERFACE utilisateur.
Plus appropriée exemple d'AJAX serait de permettre aux utilisateurs de jouer le jeu dans la fenêtre principale, tandis que ils peuvent parcourir une liste d'autres contenu dans une sous-fenêtre navigation. Vous pouvez charger des éléments supplémentaires dans la sous-fenêtre navigation via AJAX sans perturber le gameplay.
Je collerais avec des liens hypertextes simples. Votre page de meubles ne devrait pas en compte une grande partie de l'HTML, donc ce n'est pas une grande victoire à l'exclusion de demandes de page. Faire de chaque ressource adressable (c'est à dire une URL pour chacun des bits de contenu à un utilisateur pourrait être intéressé par l') est un élément caractéristique de la conception du web. Il signifie la mise en cache peut travailler, et signifie que les utilisateurs peuvent partager des signets. Il rend le travail à Google, ainsi que les sites de bookmarking social.
Raser un couple de HTML octets après les changements de page n'est pas en vaut la peine, à mon avis.