Je viens de découvrir un module pour Firefox : Custom Buttons.
Ça permet de créer ses propres boutons pour l’interface de Firefox, directement en JS et dans l’interface (donc mieux que les simples bookmarklets). Le module ne semble plus mis à jour depuis quelques années, mais il fonctionne encore très bien.

Je me suis pour le moment simplement attardé à transformer 3 bookmarklets en boutons Firefox :

firefox new buttons

Forcer le mode lecture

Le premier, le petit « livre », c’est pour forcer le mode lecture. Parfois, le mode lecture ne fonctionne pas dans Firefox. J’ai trouvé d’où ça vient, c’est un comportement compréhensible et à chier, mais on peut l’outrepasser : il suffit d’ajouter le texte « about:reader?url= » devant l’URL. Ce bouton fait ça en un clic (notez que certaines pages ne rendent pas bien en mode lecture).

Pour ajouter ce bouton, il faut commencer par ajouter un bouton. Dans Firefox allez dans AffichageAdd New Button (appuyez sur Alt pour afficher le menu et aller dans Affichage).
Une nouvelle fenêtre s’ouvre alors :

ajouter un nouveau bouton à Firefox avec Custom Buttons

  • Dans Name donnez-lui le nom que vous voulez, par exemple « Mode Lecture »
  • Dans Image, choisissez une icône. En cliquant sur Browse, vous pouvez choisir une icône à vous. Si vous faites ça, choisissez votre icône puis cliquez sur le bouton « ⇒ base64 » pour transformer l’image en code intégré au bouton.
  • Dans le grand champ Code, il faut mettre le code JS que vous voulez exécuter au clic sur le bouton. Dans le cas présent, on veut se mettre en mode lecture. Il faut y mettre ça :
loadURI("about:reader?url="+encodeURIComponent(content.document.location))

Faites ensuite « OK », en bas : le bouton est créé.

Maintenant il faut l’ajouter à l’interface : allez dans le menu de Firefox puis « Personnaliser ». Vous voyez alors votre icône et vous pouvez la déplacer où vous voulez dans l’interface. Une fois que c’est fait, quittez la personnalisation et cliquez sur votre bouton pour passer en mode lecture (même si le mode lecture n’était pas activé par défaut).

Afficher un clavier virtuel JS

Le deuxième bouton, il affiche un petit clavier alternatif pour taper en Russe, Japonais ou en Grec dans les formulaires. C’est le petit clavier en JS que j’avais créé il y a 2 ans.
Pour l’avoir aussi, il faut ajouter un autre bouton.
Faites la même manip que tout à l’heure, mais changez juste le Code en ça :

loadURI("javascript:s=document.createElement('script');s.id='r6109_vkbsgp';s.type='text/javascript';s.src='http://lehollandaisvolant.net/tout/dl/virtual-kb/keyboard.js?french';document.head.appendChild(s);void(null);")

(La doc du clavier est sur mon article dédié et sur Github)

Un bouton pour Shaarli

Le troisième, c’est pour partager un lien sur mon blog, façon Shaarli. Pour Shaarli, le code à faire serait dans ce genre là :

loadURI("http://example.com/shaarli/?post="+encodeURIComponent(content.document.location)+"&title="+encodeURIComponent(content.document.title))

En remplaçant example.com/shaarli/ par l’adresse de votre Shaarli.
Notez que ce code diffère du contenu du bookmarklet de Shaarli : en effet, si le code du bookmarklet fonctionnerait parfaitement, ce code est plus natif à Firefox et donc plus rapide. En plus, il fonctionne même là où les bookmarklets normaux ne marchent pas (quand le JS du bookmarklet est bloqué sur le site, comme sur Github).

Vous pouvez transformer n’importe quel bookmarklet en bouton dans Firefox en plaçant le code JS du bookmarklet entre « loadURI(" » et « ") ».

Le module permet de faire quelques autres choses, comme lancer le script automatiquement au démarrage de Firefox. Je vous laisse voir le site du module pour plus d’information. Il y a aussi un forum, avec un partage de plein de scripts.

12 commentaires

gravatar
HelloWorld a dit :
Il semblerait qu'il y a trois fois le même code pour les trois astuces différentes ;p

Sinon, c'est sympa, ça fait bookmarklet à customiser soi-même, un peu comme Stylish.
gravatar
sunkart a dit :
Hello,

Comment fais-tu pour avoir la barre à droite (après l'ascenseur) ?
gravatar
Sick a dit :
Timo, je t'ai influencé par hasard avec mon commentaire du 10 janvier ?
Tu as marqué "github" dans ton article.
gravatar
Frodon a dit :
Ne fonctionne pas avec Firefox Developer Edition (version 45.0a2)
gravatar
Minami-o a dit :
Hello,
Merci pour ce partage, mais après quelques jours d'utilisation, je viens de m'apercevoir que cette extension ralentissait énormément le démarrage de FF sur mon PC.
Je passe à près de 10 secondes et un gros appel CPU, contre 3-4 secondes avec l'extension désactivée.
Pourtant, je n'ai « que » 3 boutons actifs (2 pour shaarli, un pour freshrss).
As-tu remarqué quelque-chose chez toi ?
gravatar
Le Hollandais Volant a dit :
@Minami-o : Salut, je n’ai rien remarqué moi même…
L’extension est très vieille et sûrement plus bien compatible avec l’interface actuelle de Firefox (qui a beaucoup évoluée sous le capot). Peut-être y a t-il une extension plus récente ou un autre moyen (je n’ai pas vraiment cherché).
gravatar
Sick a dit :
Timo, Comment as-tu obtenu ces trois icones que tu pointes avec tes flêches en rouge ?
Car les icones par défaut sont des étoiles.
gravatar
Le Hollandais Volant a dit :
@Sick : quand tu crées tes icônes (ou après, quand tu les édites), tu peux modifier l’icône par défaut avec un fichier image (PNG, Gif…) de ton choix.

En face de "image" (là où il y a l’étoile), il suffit de cliquer sur le bouton "Browse" (à droite), de choisir ton fichier. Quand c’est fait, cliques sur "Base 64" pour la convertir en code-image intégré et ensuite c’est bon, tu valides ton bouton et il aura la bonne icône.

Les commentaires sont fermés pour cet article