24 janvier 2014

JavaScript : condition ou opération mathématique

NB 141221 : utile avec la manipulation et conversion des types JavaScript
cf. mémo opérateurs JavaScript.

Pour l'efficacité du code, l'on peut vouloir éviter une condition par le recours à une clé ou un index appelant telle fonction :

19 janvier 2014

Outil javascript : url anti-cache en Ajax récursif

L'ajax récursif, utile pour accéder au code source d'une page, à ses données HTTP etc. doit tenir compte de la dernière version de la page sans s'en tenir au cache du navigateur. L'on pourrait lancer une requête avec la méthode classique pour forcer le rafraîchissement : le passage de query string. Le problème sur un CMS tel que Drupal, est le ralentissement considérable causé par ces paramètres supplémentaires d'url.

Une solution réside dans l'insertion d'un identifiant. Liant authentification, droits d'utilisateur et accès au contenu, la variation de cet identifiant devrait théoriquement, et je l'ai en pratique constaté, lancer la requête sans être arrêté par le cache.
Sur Internet Explorer cependant, et sans trop de surprise, il faut s'en tenir aux paramètres traditionnels.

var url = document.location.href;
ajax.open("GET",msie > 0 ? 
     url + ((/\?/).test(url) ? "&" : "?" ) + new Date().getTime() :
     url.replace(/\/{2}/,"//" + new Date().getTime() + "@"),
true);

Exemple dans un bookmarlet de récolte de données.