Dans un millet précédent, j'avais parler des smart bookmarks. Ces petits marques pages spéciaux permettent d'étendre les fonctionnalité de votre Awsome bar. Il existe une technique un peu plus avancée que Lifehacker a abordé dans un post récent. Il faut parler couramment le JavaScript (aka JS) pour l'inventer, mais on peut le comprendre et l'imiter très facilement.
Rappel
Dans la première version des smart bookmarks on aurait écrit :
www.exalead.fr/searchresults?q=%s&x=0&y=0&%24mode=allweb&%24searchlanguages=fr
en y associant un mot clef :
exa
et, pour l'invoquer, on aurait écrit :
exa whatever
pour rechercher "whatever" sur exalead. Le résultat que l'on aurait obtenu serait :
La recherche de whatever sur Exalead.
Le défaut
L'inconvénient évident de cette méthode est que si l'on entre dans la barre de recherche le mot clef seul :
exa
on obtient la page :
La recherche de %s sur Exalead !
ce qui ne sert à rien (sauf sur urban dictionnary où il existe une entrée %s).
L'amélioration
En utilisant un chouilla de JavaScript et un soupçon d'astuce, on écrira :
javascript:if('%s') location.href='www.exalead.fr/search/results?q=%s&x=0&y=0&%24mode=allweb&%24searchlanguages=fr';else location.href='www.exalead.fr';
Décodons donc...
javascript: indique au navigateur qu'il doit exécuter du code JavaScript (et oui, la programmation c'est parfois aussi compliqué que ça !) au lieu de charger une adresse internet.
if(<expression>) <expression1>;else <expression2> est une forme générique en JavaScript qui signifie que dans le cas où expression ne s'évalue pas en "faux" on choisi l'expression1, dans l'autre cas, l'expression2.
'%s' peut prendre deux valeur. Dans le cas où le mot clef utilisé seul, il prend la valeur "null" (non défini) qui est équivalent à "faux" (JavaScript est un langage de script très (trop à mon gout) souple et laxiste). Dans le cas où le mot clef est utilisé accompagné d'une chaine de caractère (une suite de lettres, de chiffres et d'autres symboles typographiques), il prend cette chaine comme valeur et est alors considéré comme "pas faux".
En résumé, pour adapter un smart bookmark il suffit de
- remplacer URL_DE_LANCIEN_SMART_BOOKMARK par l'url de l'ancien smart bookmark
- remplacer URL_CLASSIQUE par l'url classique du site (sans toucher aux symboles ' qui les entourent)
- dans l'expression générique javascript:if('%s')location.href='URL_DE_LANCIEN_SMART_BOOKMARK';else location.href='URL_CLASSIQUE';
- Puis de placer le résultat de cette substitution dans le champ adresse du marque page intelligent, qui devient alors un marque page super intelligent !
Aller plus loin
Il est possible d'écrire des smart bookmarks qui prennent plusieurs arguments ou qui réagissent différemment selon l'argument utilisé... Il faut juste savoir écrire du JavaScript. On peut trouver quelques exemples sur un autre post de lifehacker. Je ne pense pas me mettre sérieusement à JS avant un bout de temps, mais je regarderais peut-être les bases pour écrire quelques hacks, commandes Ubiquity et script uCjs...
Send a message
Search for members