Javascript c’est fantastique, les bookmarklets super chouette

Peu de gens le savent (à mon grand étonnement), mais à partir du moment où vous affichez la page d’un site dans votre navigateur, vous pouvez la modifier et interagir avec Javascript. Et en Javascript, on peut (presque) tout faire : changer la couleur d’un élément, ajouter un bouton, modifier le comportent d’un clic… Par exemple sur ce blog, quand on clique sur la bannière on revient à la page d’accueil : c’est fait en Javascript (choix personnel pour ne pas modifier le thème que j’utilise).

Ça veut dire que sur n’importe quelle page, vous pouvez modifier le rendu comme vous le voulez. Vous allez me demander : « Mais si ce n’est pas notre site, où ajouter ce code ? ». Et bien, je vous réponds : directement dans la barre d’adresse.

Par exemple, pour redimensionner la fenêtre courante à une dimension de 1024×768, entrez cette ligne dans votre barre d’adresse et appuyez sur Entrée :

javascript:window.resizeTo('1024', '768');

Heureusement, on peut aller beaucoup plus loin. Voici un exemple simple qui va récupérer tous les liens existants dans une page, et tous les ouvrir dans de nouveaux onglets :

javascript:var list=document.getElementsByTagName('a');for(var i=0;i<list.length;i++){if(list[i].hasAttribute('href')){window.open(list[i].getAttribute('href'))}}

On ne va pas détailler le code (qui est loin d’être parfait), ce n’est pas le but, mais comme vous le voyez on peut récupérer tout ce qui est dans une page et en faire ce que l’on veut. C’est fantastique.

Vous allez me dire : « Bordel, c’est pas très pratique si je dois copier/coller ce code à chaque fois que je veux utiliser le script », et vous n’auriez pas tort. Alors sachez que l’on peut tout simplement mettre ce code dans un favori pour qu’il soit plus facile d’accès. C’est ce qu’on appelle un bookmarklet.

Mieux, si vous glissez/déposez le lien suivant Ouvrir les liens dans votre barre de favoris, le bouton créé contiendra directement le script. Il vous suffira de cliquer dessus pour qu’il s’exécute sur la page courante. De nombreux sites en proposent (delicious, tumblr, WordPress… La liste est longue), et c’est super chouette.

Pour finir, si vous voulez lancer automatiquement un script lorsque vous arrivez sur un site particulier (ou dès que vous chargez n’importe quel site, à vous de voir), il existe un plugin Firefox prévu pour ça : GreaseMonkey. Mieux, des milliers de scripts existent déjà pour améliorer des sites (notamment GMail, Flickr, etc.).

Avec tout ça, le web est vraiment à vous !

13 réponses sur “Javascript c’est fantastique, les bookmarklets super chouette”

  1. « sur ce blog, quand on clique sur la bannière on revient à la page d’accueil : c’est fait en Javascript »

    Et c’est bien bête, vu que du coup ça fait plein de mauvaises surprises avec le middle-click.

  2. Si je précise que c’est un « choix personnel pour ne pas modifier le thème que j’utilise », c’est parce que je sais très bien que c’est discutable. :)

    Sinon t’as un vrai lien sur l’onglet Blog.

  3. Ouais d’ailleurs le lien en javascript, il me pète bien les burnes, et y’a le même sur sexactu. C’est vraiment une très mauvaise idée je trouve. Si vraiment tu veux un lien qui déclenche du javascript, fais un vrai lien et greffe-toi dessus en… javascript :)

    Au moins, les visiteurs pourront suivre le lien, qu’ils soient humains paranoiaques (noscript) ou moteurs de recherche.

    Bon après, hein, moi c’est pas mon site :)

  4. Mais arrêtez. :) La bannière cliquable ici, c’est un petit plus. J’ai fait ça vite fait parce qu’on me l’a demandé, en JS pour ne pas toucher au thème, c’est pas terrible, je le sais et je m’en fout. C’était quand même un bon exemple par rapport au sujet.

    Pour SexActu effectivement c’est assez naze, je ne vois pas pourquoi c’est fait comme ça (ce thème a un historique houleux). Je le note dans un coin, à corriger plus tard !

  5. Aaah, mais putain on s’en fout de moi. La boulette de perdre mon commentaire en cliquant sur la bannière à la con, je l’ai fait une fois, j’ai compris. C’est juste que je trouve stupide que, comme toutes les modifs d’UI imaginées par remouk, le seul moyen de découvrir leur existence soit au détriment de l’utilisateur. Moins user-friendly, on peut pas trop.

    Avoir des javascript qui pètent la navigation, c’est du même niveau que d’utiliser du flash, c’est tout : c’est bête et inutile.

  6. ca marchait bien ya 6-7 ans, yavait meme un site qui les répertoriait tous (jaimerais bien le retrouver s’il existe encore !), mais après un service pack à un certain point, ca marchait plus dans IE…

    je continue de me servir de certains, comme pour agrandir la page à max :
    javascript:moveTo(0,0);resizeTo(screen.availWidth,screen.availHeight)
    ou encore pour ajouter le domaine du site en favoris :
    javascript:external.AddFavorite(‘http://’+location.host, location.host.replace(/.com|.edu|.net|.org|www./gi, »))
    ou encore pour ouvrir la doc d’une fonction PHP :
    javascript:reponse=prompt(« Quel est le nom de la fonction ? », « Fonction »);if(reponse){top.location= »http://www.php.net/ »+reponse}else{alert(« Rien ! »)}

    (ouais, ils sont vieux, jai fait ca quand javais 15 ans…)

    maintenant dans IE 7, ca marche seulement si on n’a pas d’autre onglet ouvert, et si la page courante n’est pas un flux RSS…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *