Question

J'ai une page web où l'utilisateur a la possibilité d'afficher les termes et conditions sans avoir à recharger la page, via AJAX.Ce qui, en soi, n'est pas un problème, cependant, je suis aussi en train d'essayer de pousser une histoire de l'état.

Cela fonctionne bien dans la plupart des navigateurs, sauf dans IE.Pour des raisons inexplicables, là, le contenu est chargé via AJAX, mais aussi, un nouvel onglet s'ouvre avec la page précédente.Comment puis-je résoudre ce problème?

Vous pouvez voir un exemple sur cette page http://galaxy-battle.de ), essayez de cliquer sur "T&c" dans la "Jointure"-box.

Était-ce utile?

La solution

IE9 et ci-dessous ne prend pas en charge la poussée .Vous avez une exception lorsque vous appelez la ligne suivante

window.history.pustate (null, null, pathfullpage);

script438: l'objet ne prend pas en charge la propriété ou la méthode 'pushstate' ? Termes_and_conditions, ligne 62 caractère 21

Vous pouvez probablement être intéressant à regarder des solutions de contournement discutées à émuler / polyfill historique.pustate () dans IE

Autres conseils

Vieux mais toujours d'actualité la question.Je veux juste dire que je recommanderais pas pour essayer d'imiter pushState sur IE.

Au lieu de cela, vous pouvez utiliser une fonction de détection :

  1. si history.pushState n'est pas nul (le navigateur prend en charge pushState), vous l'utiliser et charger votre contenu avec d'astucieux javascript

  2. si history.pushState est null (navigateur ne supporte pas les pushState), vous modifiez l'url / suivez le lien et faire un changement de page

Bien sûr, cela signifie IE<=9 utilisateurs ne disposent pas de toutes les animations superbes d'autres utilisateurs.Mais la question que je veux poser est la suivante :voulez-vous voir sur le net des liens vers votre site web contenant de l' # ?

Les utilisateurs peuvent penser que votre application est utile et coller des liens sur le web.C'est cool, parce qu'elle vous apporte quelques google jus.Maintenant, si l'utilisateur utilise IE et que vous utilisez history.js, l'utilisateur doit coller un lien contenant une table de hachage.

Ce sera défaites bonne indexation des pages publiques de votre application, et va aussi moche.Mon opinion personnelle est que le fait d'avoir un js animation ou lightbox pour les utilisateurs de IE ne valent pas ceux du commerce hors.

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