Pergunta

Eu corro um jogo baseado em navegador em www.darknovagames.com. Recentemente, eu estive trabalhando em reformatar o site com CSS, tentando fazer com que todas as suas páginas para verificar de acordo com o padrão HTML.

Eu fui brincar com essa idéia de ter o menu de navegação à esquerda AJAX as páginas (em vez de tomar o usuário para uma página separada de cada vez, exigindo uma recarga do título e da barra de navegação, o que quase nunca mudança ) e eu sei que se eu fizer isso, eu provavelmente quebrar os botões de avançar / voltar no navegador. A minha pergunta eu acho que é, eu deveria ir em frente e AJAX o local, exigindo que o usuário use a navegação sites para jogar o jogo, ou devo deixar o local na sua redacção actual, e usar hiperlinks padrão e coisas para navegação

A razão que eu peço eu acho é que eu construí um sistema de fóruns no site, e um monte de vezes que eu gostaria de ligação digamos a um tópico específico dentro dos fóruns.

Eu também estou aberto a sugestões. Existe um padrão (de preferência sem quadros tradicionais) maneira de fazer apenas a área do corpo da recarga local, enquanto ainda mudar a URL para que os usuários podem marcar e frente / trás, etc? Isso poderia potencialmente resolver o meu problema também. Eu só estou pedindo para a melhor solução aqui, não é uma resposta a uma pergunta específica. ^ _ ^

Graças

Foi útil?

Solução

Se você estiver indo para permitir AJAX, não fazê-lo à custa de ter URLs acessíveis a todas as páginas significativa em seu site. Esta é a espinha dorsal de um site navegável que as pessoas podem usar.

Quando você pá toda a sua funcionalidade em chamadas e retornos de chamada AJAX, você está forçando basicamente seus usuários em um único caminho para o acesso as características e conteúdo que eles querem - que é totalmente contra a forma como a web destina-se a função. As pessoas confiam na barra de endereço e o botão de volta. Se você substituir todos os seus links para que seu site é essencialmente uma única página que apenas atualizações através de AJAX, você está limitando a capacidade dos usuários para navegar no seu site e encontrar o que precisam. Ele também pára os usuários de ser capaz de compartilhar o que encontrar (que, isso é parte do ponto, certo?).

Pense mapa mental do usuário do seu site. Se eles sabem que entrou pela home page, em seguida, eles foram para procurar alguma coisa, então eles desembarcaram em uma página de jogos, então eles começaram a jogar um jogo particular, que é quatro unidades distintas de ação que o usuário tomou. Eles poderiam ter feito algumas outras ações menores e mais insignificantes em cada uma dessas páginas - mas estas são as principais unidades. Quando eles clique no botão Voltar, eles devem esperar para voltar pelo caminho que vem. Se você estiver carregando todas essas páginas por meio de chamadas AJAX, você está fornecendo um site cuja funcionalidade é contrária ao que o espera do usuário.

Quebre seu site para fora em cada função significativa (ou seja, busca, casa, perfis, jogos - ele vai ser ditadas pelo que o seu site tem tudo a ver). Qualquer lugar que você conectar-se a estas páginas, fazê-lo através de uma ligação regular e uma URL estática.

AJAX é bom. Mas a arte dele é saber quando usá-lo e quando não. Se você continuar com o modelo que eu esbocei acima, seus usuários irão apreciar.

Outras dicas

usar AJAX para partes da página que precisa de atualização, não a coisa inteira. Por que você deve usar modelos.

Quando você quiser ainda preservam o botão voltar para suas várias mudanças de estado na página, combiná-los com # achors para alterar a url (sem forçar o navegador para emitir outra GET).

Por exemplo, a aparência do Gmail como este:

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

passado tudo o # era uma mudança de estado página que aconteceu via ajax. Se eu pressionar Voltar, eu vou para a caixa de entrada de novo (de novo, sem outra GET browser)

Confira reallysimplehistory . O wiki não foi atualizado por 10 meses, mas eu estava apenas no Ajax Experience 2008 e viu um apresentação por Brian Dillard nele. Ele diz que o código 0.8 está no seu disco rígido. Esperamos que ele poderá ser baixado em breve.

Outra solução:

AJAX Paginação & Back Botão

Este parece ser o melhor lá fora, trabalha com JQuery e Mootools.

Há inúmeras maneiras a resolver este problema utilizando funk técnicas de Javascript, muitas vezes envolvendo iframes, mas acho que nesta situação, você precisa pergunta por que você está usando AJAX. É realmente indo para tornar o site mais fácil de usar para o usuário? Parece-me que você está usando-o porque você acha que é legal (o que em si não é sempre uma coisa ruim) não porque ele vai realmente adicionar qualquer valor para seus visitantes. A partir de qualquer website normal, documentos com hiperlinks normais são quase sempre a coisa certa para a navegação primária. É o que as pessoas esperam e eu não recomendo que você saia por aí quebrando essas expectativas com base em alguma tecnologia fantasia.

AJAX é incrível e permite que você faça grandes coisas, mudando uma navegação websites não é um deles.

Bem feito para pegar a este problema, porém, há um monte de sites lá fora, que apenas ir em frente com AJAX e nem sequer pensar sobre isso!

Tente este simples e leve PathJS lib. Ele permite aos ouvintes ligam diretamente para âncoras.

Exemplo:

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

AJAX não é a melhor solução para a navegação para exatamente a razão pela qual você descreve. O hit para recarregar o cabeçalho e barra de navegação é mínima em comparação com o trabalho de quebrar UI de navegação do browser.

Um exemplo mais apropriado de AJAX seria permitir que os usuários para jogar o jogo na janela principal enquanto eles podem navegar através de uma lista de outros conteúdos em um painel de navegação. Você poderia carregar itens adicionais no painel de navegação via AJAX sem perturbar o jogo.

Eu ia ficar com hyperlinks simples. Seu mobiliário página não deve representar uma grande parte do HTML, por isso não é uma grande vitória excluindo-a solicitações de páginas. Fazendo com que cada endereçável de recursos (ou seja, um URL para cada bit de conteúdo que um usuário pode estar interessado em) é um recurso de design chave da web. Isso significa que o cache de trabalho pode, e os usuários podem compartilhar meios marcadores. Ele faz o trabalho do Google, bem como sites de bookmarking social.

Raspar um par de HTML bytes off mudanças de página subseqüentes não vale a pena o esforço, na minha opinião.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top