Estou editando um arquivo HTML no Vim e quero que o navegador seja atualizado sempre que o arquivo abaixo for alterado.
Existe um plug-in para o Google Chrome que escute as alterações no arquivo e atualize automaticamente a página sempre que eu salvar uma alteração no arquivo? Eu sei que existe o XRefresh para Firefox, mas não consegui fazer o XRefresh rodar.
Seria muito difícil escrever um script para fazer isso sozinho?
vim
google-chrome
automation
Kevin burke
fonte
fonte
Respostas:
Presumo que você não esteja no OSX? Caso contrário, você poderia fazer algo assim com o applecript:
http://brettterpstra.com/watch-for-file-changes-and-refresh-your-browser-automatically/
Há também um plug-in para o Chrome chamado "atualização automática plus", onde você pode especificar uma recarga a cada x segundos:
https://chrome.google.com/webstore/detail/auto-refresh-plus/oilipfekkmncanaajkapbpancpelijih?hl=en
fonte
keyword
parawatch_keyword
na seguinte linha:if (URL of atab contains "#{keyword}") then
Solução JavaScript pura!
Live.js
Basta adicionar o seguinte ao seu
<head>
:Copiei essa resposta quase literalmente daqui , porque acho que é mais fácil e geral do que a resposta aceita atualmente aqui.
fonte
php -S localhost:8080
python3 -m http.server
, assim como muitos outros, para outras linguagens / ferramentas .Tincr é uma extensão do Chrome que irá atualizar a página sempre que o arquivo abaixo for alterado.
fonte
Handy Bash one-liner para OS X, assumindo que você instalou o fswatch (
brew install fswatch
). Ele observa um caminho / arquivo arbitrário e atualiza a guia ativa do Chrome quando há alterações:Veja mais sobre o fswatch aqui: https://stackoverflow.com/a/13807906/3510611
fonte
Com a adição de uma única metatag em seu documento, você pode instruir o navegador a recarregar automaticamente em um intervalo fornecido:
Colocado na tag head do seu documento, esta meta tag instruirá o navegador a atualizar a cada três segundos.
fonte
http://livereload.com/ - aplicativo nativo para OS X, versão Alpha para Windows. Código aberto em https://github.com/livereload/LiveReload2
fonte
Use o Gulp para assistir os arquivos e o Browsersync para recarregar o navegador.
As etapas são:
Na linha de comando execute
Crie gulpfile.js com o seguinte conteúdo:
Corre
Edite o HTML, salve e veja o seu navegador recarregar. A mágica é feita por meio da injeção instantânea de tags especiais em seus arquivos HTML.
fonte
A extensão LivePage do Chrome pode ser facilmente configurada para monitorar alterações em arquivos locais.
fonte
Eu sei que essa é uma pergunta antiga, mas caso ajude alguém, existe um pacote npm de recarregamento que resolve isso.
Caso você não esteja executando em um servidor ou tenha recebido o erro
Live.js doesn't support the file protocol. It needs http.
Basta instalar:
e em seu diretório index.html, execute:
Ele iniciará um servidor que será atualizado sempre que você salvar suas alterações.
Existem muitas outras opções caso você esteja executando no servidor ou qualquer outra coisa. Verifique a referência para mais detalhes!
fonte
Existe um aplicativo java para os xe Chrome chamado Refreschro. Ele monitorará um determinado conjunto de arquivos no sistema de arquivos local e recarregará o Chrome quando uma alteração for detectada:
http://neromi.com/refreschro/
fonte
Se você estiver no GNU / Linux, pode usar um navegador muito legal chamado Falkon . É baseado no Qt WebEngine . É como o Firefox ou Chromium - exceto, ele atualiza automaticamente a página quando um arquivo é atualizado. A atualização automática não importa muito se você usa vim, nano ou atom, vscode, colchetes, geany, mousepad etc.
No Arch Linux, você pode instalar o Falkon com bastante facilidade:
Aqui está o pacote de encaixe.
fonte
Uma solução rápida que às vezes utilizo é dividir a tela em duas, e cada vez que for feita uma alteração, clique no documento xD.
fonte
Em node.js, você pode conectar primus.js (websockets) com gulp.js + gulp-watch (um executor de tarefas e um ouvinte de mudança, respectivamente), de modo que o gulp permita que a janela do navegador saiba que deve atualizar sempre que html, js , etc, mudar. Este é o sistema operacional agnóstico e estou trabalhando em um projeto local.
Aqui, a página é servida por seu servidor web, não carregada como um arquivo do disco, que na verdade é mais parecido com a coisa real.
fonte
Isso funciona para mim (no Ubuntu):
Você pode precisar instalar os pacotes inotify e xdotool (
sudo apt-get install inotify-tools xdotool
no Ubuntu) e alterar os args--class
para os nomes reais de seu navegador e terminal preferidos.Inicie o script conforme descrito e apenas abra index.html em um navegador. Após cada salvamento no vim, o script focalizará a janela do seu navegador, atualizará e retornará ao terminal.
fonte
xdotool search --name 127.0.0.1 windowactivate key F5
para trabalhar no localhost (127.0. 0.1) apenas, é claro. Agora preciso conectar isso de volta ao script.A solução mais flexível que encontrei é a extensão Chrome LiveReload emparelhada com um servidor de guarda .
Observe todos os arquivos em um projeto ou apenas aqueles que você especificar. Aqui está um exemplo de configuração do Guardfile:
A desvantagem é que você precisa configurar isso por projeto e ajuda se você estiver familiarizado com ruby.
Também usei a extensão do cromo Tincr - mas ela parece estar fortemente acoplada a frameworks e estruturas de arquivo. (Eu tentei conectar o tincr para um projeto jekyll, mas ele só me permitiu assistir um único arquivo para alterações, sem levar em conta as inclusões, alterações parciais ou de layout). O Tincr, entretanto, funciona muito bem fora da caixa com projetos como trilhos que possuem estruturas de arquivo predefinidas e consistentes.
O Tincr seria uma ótima solução se permitisse todos os padrões de correspondência inclusivos para recarregar, mas o projeto ainda é limitado em seu conjunto de recursos.
fonte
Isso pode ser feito usando um script python simples.
Detalhes completos podem ser consultados aqui .
fonte
Com base na resposta de attekei para OSX:
Jogue tudo isso em
reload.scpt
:Isso recarregará a primeira guia que encontrar que começa
file://
e termina com o primeiro argumento da linha de comando. Você pode ajustá-lo conforme desejado.Finalmente, faça algo assim.
fswatch -o
produz o número de arquivos que foram alterados em cada evento de alteração, um por linha. Normalmente, será apenas impresso1
.xargs
lê esses1
s em e-n1
significa que passa cada um como um argumento para uma nova execução deosascript
(onde será ignorado).fonte
tab.title.includes(argv[0])
como condicional, posso corresponder no título da página, que pode ser menos complicado do que URL, e funciona ao usar um servidor local em vez de file: //.Instale e configure
chromix
Agora adicione isso ao seu
.vimrc
mude a porta para o que você usa
fonte
Salve este código em um arquivo livereload.js e inclua-o na parte inferior do script HTML da seguinte forma:
O que isso fará é atualizar a página a cada 100 milissegundos. Todas as alterações feitas no código são instantaneamente visíveis aos olhos.
fonte
Ok, aqui está minha solução crua de Auto Hotkey (no Linux, tente Auto Key ). Quando o atalho de teclado para salvar for pressionado, ative o navegador, clique no botão recarregar e volte para o editor. Estou cansado de colocar outras soluções em execução. Não funcionará se o seu editor salvar automaticamente.
fonte
Solução offline usando R
Este código irá:
faça o navegador atualizar toda vez que uma alteração for salva no arquivo .html.
Existem soluções semelhantes para python etc.
fonte
Adicione isso ao seu HTML
Enquanto você está editando, a página do navegador fica borrada, ao voltar para visualizá-la, o evento de foco é disparado e a página recarregada.
fonte
em seguida, basta entrar no diretório que deseja monitorar, execute "watch_refresh_chrome"
fonte