Refresh de CSS para o Mozilla Firefox

Por: Henrique C. Pereira

Publicado em Tuesday 01 August 2006 às 07:40

Categoria: HTML/CSS/JScript

Quando estou desenvolvendo um site novo, uma das coisas que mais acho chato é ter que dar refresh na página inteira para poder ver apenas atualizações que foram feitas na minha folha de estilos externa. Tempos atrás navegando pela Web, encontrei um script muito muito interessante que faz o que eu sempre quis fazer: ele força o re-download somente do CSS.

Isso funciona da seguinte maneira: seja em um servidor interno ou externo, quando você faz atualizações somente no CSS e aperta F5 em qualquer browser, você acaba baixando todo o XHTML e as imagens novamente. Quando está trabalhando em um servidor remoto, isso é ainda mais chato e acaba tomando alguns segundos precisosos do seu tempo. Com o JavaScript demonstrado abaixo, você cria um botão na sua bookmarks toolbar do Mozilla Firefox (sim, somente no Firefox, o Internet Explorer não possuiu este recurso), e toda vez que quiser dar um refresh somente nas folhas de estilos do site que você está desenvolvendo, basta clicar no botão, que ele deleta os arquivos de CSS do cache da sua máquina e faz o download novamente. E bem rapidinho.

Para criar este botão, faça o seguinte. Clique com o botão direito sobre a sua “bookmark toolbar” no Firefox. No menu contextual que abrir selecione “New Bookmark“. No campo “name” digite algo do tipo “CSS Refresh” e no campo “location“, cole o seguinte script:


javascript:void(function(){var  i,a,s;a=document.getElementsByTagName('link');for(i=0;i<a.length;i++){s=a[i];if(s.rel.toLowerCase().indexOf('stylesheet')>=0&&s.href)  {var  h=s.href.replace(/(&|%5C?)forceReload=\d+/,'');s.href=h+(h.indexOf('?')>=0?'&':'?')+'forceReload='+(new  Date().valueOf())}}})();

Agora, sempre que estiver no Firefox fazendo alterações de CSS, basta clicar neste botão pra atualizar somente sua folha de estilos. Infelizmente, eu perdi o artigo onde originalmente eu encontrei este código. Se alguém souber, por favor me informe para que eu possa dar os devidos créditos ao autor do script.

Comentários dos leitores

Este artigo possui 40 comentários

  1. Tiago Bega Tuesday 01 August 2006 às 04:54

    Maravilha, fiz aqui e funcionou perfeitamente ontem mesmo estava imaginando alguma maneira de fazer isto.

    Muito bao a indicação

  2. Maicon Junches #1° Tuesday 01 August 2006 às 05:17

    Isso é ÓTIMO!

    Abraços!!

  3. Edgar #2° Tuesday 01 August 2006 às 05:37

    Realmente muito interessante.

  4. Marcos V Bohrer #3° Tuesday 01 August 2006 às 05:49

    Perfeito!

  5. Thalis Valle #4° Tuesday 01 August 2006 às 06:31

    Parabéns! Muito útil.

  6. Raphael #5° Tuesday 01 August 2006 às 07:17

    Aqui tbm funcionou =)

    Valew !!!

  7. Dedexter #6° Tuesday 01 August 2006 às 07:56

    Realização de um sonho! ^^'

  8. Lucas Alves #7° Tuesday 01 August 2006 às 08:21

    Caramba muito bom….muito útil.

    valeu por compartilhar!

  9. Carlos Eduardo #8° Tuesday 01 August 2006 às 09:01

    Muito boa!

    Era isso que eu estava precisando… heheh =)

  10. Arnaldo #9° Tuesday 01 August 2006 às 10:35

    Nao gostei!

    Qual é o grande problema e a grande preguiça de dar F5 na página inteira?

  11. Pingback: Xmedia Webfactory » Arquivo do Blog » CSS Refresh

  12. Rael B. Riolino #10° Tuesday 01 August 2006 às 11:16

    Legal… Eu costumo fazer tudo no meu comp antes de publicar… mas isso com certeza é util! ;-D

    valeu

  13. O'Marin #11° Tuesday 01 August 2006 às 11:22

    Boa dica XD

    Arnaldo, o Henrique descreveu no texto o problema de ter que dar um refresh (F5) só para visualizar uma alteração no CSS.

  14. Ricardo #12° Tuesday 01 August 2006 às 14:45

    Muito bom isso ai… Segundo meus testes funciona no Ópera tbem … valeu !!!

  15. Tulio Faria #13° Tuesday 01 August 2006 às 15:35

    muito útil, valeu

  16. Marcus Danillo #14° Tuesday 01 August 2006 às 17:26

    Funciona no Opera também. Excelente.

  17. Thomaz Leite #15° Wednesday 02 August 2006 às 00:22

    Dica muito boa para quem edita sites remotamente. Outra opção é usar a extensão editCSS, que abre uma barra lateral com o código CSS. Qualquer alteração nesse código aparece instantaneamente no site.

  18. Rodrigo Soriano #16° Wednesday 02 August 2006 às 04:53

    Fantástico.

  19. Ricardo Barato #17° Wednesday 02 August 2006 às 05:32

    Não funciona com endereços locais!

    Somente remoto =/

  20. Ricardo Barato #18° Wednesday 02 August 2006 às 05:36

    Opa, corrigindo, ele só recarrega quando a folha de estilo é carregada por

    No meu caso que uso pois pusso N folhas de estilo ele já não funciona!

  21. Marcus de Oliveira S #19° Wednesday 02 August 2006 às 05:57

    Caramba! Muito legal mesmo…muito útil!

    O que algumas linhas de codigo bem bolado

    nao fazem né!

    Abraços

  22. renato cruz #20° Wednesday 02 August 2006 às 13:07

    Fiz no Firefox e no Internet Explorer normalmente… Pq não funcionaria no IE, Henrique?

  23. Arnaldo #21° Wednesday 02 August 2006 às 13:22

    Ainda acho inútil…

    Me desculpe…

    Questão de opinião…

    Merecia uma coluninha na seção DICAS, nao um artigo de destaque.

  24. Bruno Chaves #22° Wednesday 02 August 2006 às 18:53

    muito bom, porem o costume de apertar f5 ainda supera eu clicar no botao rsrs :)

    mas muito fera mesmo

    principalmente para sites remotos

  25. Bruno Dulcetti #23° Thursday 03 August 2006 às 09:03

    Interessante Henrique… Sempre apertava F5, mas agora vou usá-lo… perfeito… ;)

    Jah tinha pensado em algo assim, mas naum manjo js para criar tal script…

    Akele abraço…

  26. RodrigoWD #24° Friday 04 August 2006 às 10:04

    Ctrl + F5 da refresh limpando o cache da pagina atual.

  27. Caio Alves #25° Friday 04 August 2006 às 13:40

    Muito bom esse código, vai poupar bastante o meu tempo na hora do desenvolvimento.

    Quando ao link dos artigos, eu dei uma procurada e achei esses dois links:

    http://mastodon.dojotoolkit.org/~david/recss.html
    (Essa parece ser a página que mantém o script original, desenvolvido por David Schontzler)

    http://pinds.com/articles/2006/02/13/re-recss
    (Nesse artigo, o autor disponibilizou um update para funcionar no Safari – já atualizado no link acima)

  28. Thiago Paes #26° Friday 04 August 2006 às 14:58

    meudues, show de bola.. chega de ctrl+f5 haahaha

  29. Leandro Vieira Pinho #27° Sunday 06 August 2006 às 06:06

    Muito bacana este recurso, gostei.

    Seria interessante também um script que funcionasse quando fosse utilizado o style e não o link.

    Conhece algum?

  30. Tiago Celestino #28° Sunday 06 August 2006 às 12:09

    Interessante, mas prefiro ainda dá o f5 na página inteira.

  31. Felipe Sander #29° Monday 07 August 2006 às 19:29

    F5 atualiza a página inteira, imagens, textos, etc, e com este botão atualiza somente o código CSS, ou seja, economiza banda e tempo do refresh.

    Sensacional.

  32. marko #30° Wednesday 30 August 2006 às 13:10

    muito bom, adorei!!

  33. Marcos #31° Monday 04 September 2006 às 12:31

    Legal d + cara

  34. Thiago Risso #32° Thursday 23 November 2006 às 05:53

    Muito boa mesmo..

    Fiz um ajustezinho pois no minha aplicação na funcionava pois ela contém frames…

    Segue abaixo modificação para funcionar com frames :

    void( function(){var i,a,s,f,fs;f=document.getElementsByTagName("frame");for(var ss=0;ss < f.length;ss++){fs = f[ss];if(fs.contentWindow){a=fs.contentWindow.document.getElementsByTagName('link'); for(i=0;i=0&&s.href){ var h=s.href.replace(/(&|%5C?)forceReload=d+/,''); s.href=h+(h.indexOf('?')>=0?'&':'?')+'forceReload='+(new Date().valueOf())}}}}})();

  35. Thiago Risso #33° Thursday 23 November 2006 às 06:17

    ops… O script acima funciona só em frames….

    Assim funciona tanto em frames quanto sem :

    javascript:void( function() { var i,a,s,f,fs;f=document.getElementsByTagName("frame"); if(f.length==0){f=[window]}; for(var ss=0;ss < f.length;ss++) { fs = f[ss];fsc =fs.contentWindow ? fs.contentWindow : (fs.document ? fs : false); if(!fsc)continue; a=fsc.document.getElementsByTagName('link'); for(i=0;i=0&&s.href){ var h=s.href.replace(/(&|%5C?)forceReload=d+/,''); s.href=h+(h.indexOf('?')>=0?'&':'?')+'forceReload='+(new Date().valueOf()) } }}})();

  36. jorge #34° Monday 04 December 2006 às 18:51

    Algumas pessoas quando estão escrevendo e erram,

    costumam apagar a linha onde erraram

    e refazer a linha novamente, outras

    preferem apagar TUDO começar de novo.

    Realmente isso é uma questão de estilo,

    e apagar somente os estilos pode ser uma coisa

    muito divertida se você está montando um página mutante !

    é isso aí !

  37. Pingback: Netlus » Blog Archive » Gerador de CSS

  38. heitor #35° Wednesday 18 April 2007 às 09:46

    impressionate!!!!!

  39. Pingback: Algumas coisas interessantes para se fazer com JavaScript e/ou CSS « Universo Faces

  40. ac #36° Tuesday 18 January 2011 às 16:43

    Hoje temos o css reloader https://addons.mozilla.org/en-US/firefox/addon/cs… bem bacana é só apertar o F9 =D

Deixe seu comentário:

Observação: Todos os campos obrigatórios estão marcados com um asterisco (*).

  1. As seguintes tags podem ser inseridas nos comentários: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Sobre este blog

Meu nome é Henrique C. Pereira e o Revolução Etc é o meu blog pessoal. Eu trabalho com design de interfaces, dispositivos móveis, planejamento de soluções web, arquitetura da informação, programação de interfaces, acessibilidade, padrões web, e-commerce e outras coisas relacionadas.
Leia mais sobre o autor.