Question

En gros j'ai un site basé sur Ajax la plupart du temps. Lorsque vous chargez un résultat, il apparaît via Ajax, et les changements de la barre d'adresse URL de mysite.com à mysite.com/#xyz/A_Random_Title.

A_Random_Title est un titre formaté SEO-friendly de la chose chargée, mais la partie importante est #xyz. xyz est l'identifiant du résultat chargé et est utilisée pour interroger la base de données.

Est-il possible CodeIgniter peut lire l'URL en cours comme ça? Je ne lis pas dire une fois la page chargée, mais lu une demande à elle ... espère que le bon sens!

Merci!

Jack

Était-ce utile?

La solution

Non, il est à la disposition du navigateur uniquement , donc vous devez traiter avec Javascript. Le serveur ne peut pas le lire.

Explication: Fondamentalement, le composant de hachage de l'URL de la page (la partie suivante du signe #) est traité par le navigateur uniquement - le navigateur ne passe jamais au serveur. Ceci est malheureusement partie de la norme HTML et est le même que vous utilisez ou non Internet Explorer ou tout autre navigateur (et pour cette matière PHP ou toute autre technologie côté serveur).

Voici ce que Wikipedia dit à ce sujet:

  

Les fonctions d'identificateur de fragment différemment du reste de l'URI: à savoir, son traitement est exclusivement du côté client, sans participation du serveur . Lorsqu'un agent (tel qu'un navigateur Web) demande une ressource à partir d'un serveur Web, l'agent envoie l'URI au serveur, mais ne transmet pas le fragment. Au lieu de cela, les attentes d'agent pour le serveur d'envoyer la ressource, puis l'agent traite les ressources en fonction de la valeur du fragment. Dans le cas le plus commun, l'agent fait défiler une page Web vers le bas à l'élément d'ancrage qui a une chaîne d'attribut égale à la valeur du fragment. D'autres comportements du client sont possibles

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top