Vignette de site, encore plus simple

Publié le

Sur presse-citron, Eric vient de nous faire découvrir un système qui marche avec un seul appel à un javascript, qui fait les vignettes sur absolument tous les liens de la page.

L'inconvénient de ce système, c'est que les vignettes apparaissent même sur les liens du site sur lequel on a installé le script. Pas super...

Donc, j'ai essayé de modifier le script pour changer tout ça, je vais donc vous en expliquez le principe.

Attention, le fait de modifier le script est interdit dans la charte "Terms & Conditions" que vous devez signer pour accéder au script.

Donc, la méthode :

  1. Vous inscrire sur cette page pour être identifié sur leur site (site, mail et c'est tout)
  2. Récupérer l'url du script qui est donné dans le textarea et l'appeler directement dans le navigateur pour l'enregistrer dans un fichier .js
  3. Ouvrir ce fichier js avec un éditeur texte et remplacez ceci :
    var _36=url.match(/^(http)s?:\/\/(^#*)/);var _37=document.location.href.match(/^(http|file)s?:\/\/(^#*)/);

    par :

    var _36=url.match(new RegExp("^(http)s?:\/\/(^#\/*)","i"));var _37=document.location.href.match(new RegExp("^(http|file)s?:\/\/(^#\/*)","i"));
  4. Envoyez ce fichier .js sur votre site
  5. Ajouter dans le head de votre page la ligne script pour appeler le .js

Et voilà.

En fait, ils ont déjà mis une vérification, mais qui ne regarde que si l'adresse pointée est la même que celle sur laquelle on est. J'ai juste fait pour que ça teste sur le nom de domaine.

En lisant le blog de Gérald qui a fait un trackback sur mon billet, je me suis aperçu que Snap avais mis en place une FAQ, dont une question pose le problème que j'ai résolu. La solution qu'il donne consiste à ajouter un bout de code en bas de votre vape, qui va mettre l'attribut class à snap_nopreview (en ajoutant aux classes déjà présentes s'il y en a). Ceci car dans le parcours des noeuds de lien du code, ils ne mettent un écouteur que sur les liens qui n'ont pas cette classe dans leur attribut. Je l'avais vu en lisant le code, mais pas penser à procéder de la sorte. Donc, la solution pour employer cette technique (ce qui fait qu'on reste dans le cadre des utilisations permises)

  1. Mettre en place le script comme donné sur snap.com
  2. Ajouter le code suivant tout en bas de votre page, juste avant le :
    Bien sûr, changer l'adresse du site