Un truc qui m’a toujours énervé depuis les tous débuts du web est l’encadrement que certains sites font avec des frames pour leurs liens extérieurs, une pratique que about.com et hotmail ont mise en place pour garder un certain contrôle sur les visiteurs qui sortent de leurs sites. Je trouve cette pratique franchement déplorable et de mauvais gout, d’autant plus qu’en terme ergonomique, c’est souvent un désastre. Google aussi est coupable de cette pratique dans leur section de recherche d’images.
Personellement, je réponds à cette pratique en mettant, à la base, dans tous mes sites, un petit code javascript qui sort automatiquement les pages de mon site s’ils sont encadrés par des frames d’un site extérieur. C’est ce qu’on appelle en anglais un « frames buster ».
Voici le code:
if (window != top) {
top.location.href = location.href;
}
C’est simple comme bonjour, javascript s’assure que la page de mon site est, dans la hiérarchie des fenêtres et frames, au premier niveau top
, sinon il réaffiche la page à ce niveau, ce qui a pour effet de faire disparaître l’utilisation des frames et de montrer exclusivement ma page.
Je place cette fonction au début de mes fichiers javascript de base qui sont appelés dans chaque page comme suit: