Mise à jour de Kajax 2.2 : Enfin une solution au problème de referer sur les liens externes => Retour du 100% Ajax



L'un des concepts fondamental de l'ajax est la navigation par réécriture d'ancre ( le # qui suit l'URL dans la barre d'adresse ). C'est grâce à cela que le framework javascript sait quelle page il doit fournir au visiteur. Mais nativement, aucun navigateur n'injecte en tant que referer dans le header http l'url ET l'ancre, ce qui est tout à fait normal, vu qu'à l'origine cela permettait de naviguer rapidement dans des pages extrêment longues (une époque qui tend à être révolue depuis qu'on enseigne aux gens que plus le contenu est long, plus la probabilibé que le lecteur se lasse est grande). La problématique était donc la suivante : Comment faire pour qu'un site A sache que le site B lui envoit un lien de la page http://www.kolibot.fr/#test alors que le site B  ne reçoit que http://www.kolibot.fr en referer ?


Après de nombreux essais, j'ai trouvé une astuce en javascript via des frames qui même si elle est légèrement sale techniquement, fonctionne à merveille et ne surcharge que très légèrement le serveur ( le contenu de la page source n'étant pas générée ). En plus de cela, j'ai rajouté la possibilité de mettre un bandeau supérieur personnalisable qui permet à l'utilisateur de revenir rapidement sur le site d'origine ou la page qui l'a conduit sur le lien.

Suite à cela, j'ai fait quelques autres mises à jours  :

  1. Le flux rss récupéré par le module javascript RSSReader de Kajax est maintenant caché en js et redemandé que si son lifetime est expiré.
  2. Mise à jour de la méthode getFlux de Kajax_Core (les css sont chargés en premier, et dès que le contenu du flux est injecté dans le DOM, on supprime l'écran de loading, autrement dit, les classes javascripts et leurs construteurs associés sont montés en arrière plan=>le visiteur à l'impression que ça va encore plus vite ^^")
  3. Découpage des classes javascripts en 2 parties : l'une avec la classe en soit et les méthodes end-user, l'autre qui surcharge une instance de cette classe avec les méthodes admin. Si cela ne posait aucun soucis niveau sécurité (les contrôles d'accès se fesant côté serveur), on économise de la bande passante et on accélère le chargement pour le visiteur !
  4. Optimisation de la gestion des PeriodicalExecuter, l'aspect asynchrone du chargement des classes js est mieux pris en compte.
Partager sur les réseaux sociaux !        



0   Suivre les commentaires :   ou    

  Laisser un commentaire  

Partenaires : Le Monde Numérique - Création de site internet dynamique
Cabinet d'expertise comptable - Construction de maisons individuelles

WebAnalytics