Comment supprimer la DiggBar

Publié le :

Digg a sorti sa DiggBar la semaine dernière. C'est une monstruosité qui nous ramène en 1996, à l'époque où des informaticiens qui trouvaient que les montres à quartz frames étaient une super vache de bonne idée[1], et où un certain nombre de parasites ont pourri le web avec cette technique en "enveloppant" le contenu produit par d'autres pour se l'accaparer à leur profit.

Vous pouvez voir la DiggBar en action en faisant précéder n'importe quelle URL par "http://digg.com/", elle sera raccourcie sous la forme "http://digg.com/xxxx" et enveloppée sous la bannière de Digg. Voici par exemple la page d'accueil de Google enveloppée par Digg.

Si vous voulez plus de détails j'ai publié un article en anglais — Killing the DiggBar — mais pour reprendre les mots de John Gruber : « Les frames cassent les signets, empêchent de copier/coller l'adresse de la page, cassent l'historique du navigateur, cassent les signets scriptés. Il n'y a rien d'acceptable dans cette technique ». Il y a encore d'autres raisons, comme les pubs de Digg, la pollution de vos statistiques et le classement dans les moteurs de recherche.

Vous trouverez un certain nombre de pointeurs vers différentes techniques pour contrer la DiggBar dans mon billet en anglais, mais la technique la plus simple à mettre en œuvre est de placer ces trois lignes quelque part dans un fichier javascript servi avec vos pages web (Il s'agit du JavaScript DiggBar killer de Faruk Ateş) :

if (top !== self && document.referrer.match(/digg\.com\/\w{1,8}/)) {
top.location.replace(self.location.href);
}

Je vous invite vivement à modifier vos sites pour tuer cette horreur dans l'oeuf avant que cette vraie mauvaise idée ne fasse des petits à droite à gauche, et que le cauchemar du framing ne revienne comme il y a dix ans.

P.S. Le code ci-dessus doit être placé dans un fichier javascript existant. Si vous n'en avez pas, alors il faut déclarer ce code comme suit directement dans la page HTML (de préférence dans l'entête). Le code suivant tuera n'importe quelle frame, qu'il s'agisse de Digg ou d'un autre, comme Google Images ou Facebook ou StumbleUpon :

<script type="text/javascript">
if (top !== self) { top.location.replace(self.location.href) }
</script>

Note :
[1] Encore que je ne serais pas étonné d'apprendre que le tag <frameset> et sa clique soient une invention Vogon.