web-dev-qa-db-fra.com

Actualiser / recharger l'onglet Navigateur actif de la ligne de commande?

J'essaie de configurer une boîte à outils personnalisée où le navigateur (Firefox ou, de préférence, chrome) est souvent/souvent obligé de rafraîchir la ligne de commande.

(L'idée est de voir instantanément les modifications visuelles dans le HTML/WebApp, je modifie dans une trame d'emacs adjacente - sans avoir à onglet constamment au navigateur pour effectuer une actualisation manuelle.)

Le plus proche que je suis arrivé jusqu'à présent est de courir google-chrome FILE_PATH. Cependant, cela ouvre un nouvel onglet à chaque fois.

Y a-t-il d'autres approches?

28
thomanil

Quelque chose à jouer avec

Il utilise xdotool, qui vous permet de scripter Windows/Actions de bureau. Si vous fournissez le nom du navigateur sous forme d'argument, il trouvera et recharger la page en cours. Vous pouvez définir un navigateur par défaut, de sorte que vous n'avez pas besoin de fournir une à chaque fois, et vous pouvez modifier si vous envoyez un CTRL-R à recharger ou à changer de Ctrl-R pour recharger sans cache.

Il devrait Flip à votre navigateur, rechargez la page, puis retournez à la fenêtre que vous avez appelée. J'utilise cela souvent en mettant le navigateur en arrière-plan, avec la fenêtre de l'éditeur définie sur "On-top", il est donc toujours visible, clés à chaud ce script ou appelez-le de votre éditeur, et cela retournera votre objectif quand c'est fait.

Je suis un utilisateur VIM et je pouvais voir faire un autocommand pour déclencher automatiquement ce script chaque fois qu'un fichier donné a été écrit, le navigateur rafraîchirait le cas échéant, je sais que vous pouvez faire de même.

#!/bin/bash
#
# L Nix <[email protected]>
# reload browser window
#
# whether to use SHIFT+CTRL+R to force reload without cache
RELOAD_KEYS="CTRL+R"
#RELOAD_KEYS="SHIFT+CTRL+R"
#
# set to whatever's given as argument
BROWSER=$1
#
# if was empty, default set to name of browser, firefox/chrome/opera/etc..
if [ -z "${BROWSER}" ]; then
    BROWSER=firefox
fi
#
# get which window is active right now
MYWINDOW=$(xdotool getactivewindow)
#
# bring up the browser
xdotool search --name ${BROWSER} windowactivate --sync
# send the page-reload keys (C-R) or (S-C-R)
xdotool search --name ${BROWSER} key --clearmodifiers ${RELOAD_KEYS}
#
# sometimes the focus doesn't work, so follow up with activate
xdotool windowfocus --sync ${MYWINDOW}
xdotool windowactivate --sync ${MYWINDOW}
#
13
lornix

Si vous utilisez Firefox, la recharge automatique est une extension où elle se recharge chaque fois que le fichier change. Vous pouvez ajouter des fichiers, des répertoires ou localhost et d'éditer des filtres à base de regex afin de réaliser ce que vous voulez. Je ne connais pas de complémentarité à cela en Chrome. Link: https://addons.mozilla.org/en-us/firefox/addon/auto-reload/

6
RamaPrakasha

Pour OS X, vous pouvez utiliser ce bit de AppleScript:

activate application "Firefox"
tell application "System Events" to keystroke "r" using command down
2
Wolph