Astuces Javascript
Quelques trucs sur lequels je me casse les dents régulièrement.. autant faire profiter tout le monde :)
Faire de l'ajax en cross-domaine
Le principe de l'ajax (hors Json) au sujet des accès en cross domaine c'est que c'est simplement impossible par défaut.
J'ai bien tenté toutes les astuces à la con trouvées sur le net, des librairies Jquery à d'autres "trucs", jamais rien ne fonctionnait.
Pourtant le besoin était très simple : à partir d'un sous domaine que je possède (http://sub.exemple.fr) je voulais récupérer le contenu d'une page présente sur mon domaine principal (http://www.exemple.fr) ... mais voilà c'est du cross-domaine donc impossible.
En fait c'est impossible par défaut sur un serveur Apache, mais il fallait savoir que le par défaut, ça se règle.
La solution : sur le domaine principal, créer un fichier php (ou une balise utilisateur dans cmsmadesimple) qui s'occupe de renvoyer le contenu de la page désirée. Le script doit commencer par
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header("Access-Control-Allow-Origin: http://sub.exemple.fr");
Ce qui indique une baisse dans la sécurité (relative hein...) d'apache ce qui permettra de faire de l'Ajax cross domaine depuis le sous domaine htt://sub.exemple.fr.
A noter que vous pouvez remplacer http://sub.exemple.fr par *, mais bien évidement je le déconseille parce que ça équivaut à supprimer complètement la protection d'Apache...