2013-08-31 10 views
14

Podczas kodowania mojej strony zapisuję dokumenty HTML i CSS, a następnie odświeżam przeglądarkę, aby zobaczyć zmiany. Jednak po odświeżeniu zmian HTML są widoczne, ale zmiany CSS nie są. Zamiast tego musiałbym zamknąć okno i ponownie je otworzyć, aby zobaczyć moje zmiany w CSS.Dlaczego mój CSS nie jest aktualizowany w przeglądarce?

Jakieś pomysły, dlaczego nie mogę po prostu odświeżyć i zobaczyć zmiany CSS zamiast zamykania okna i ponownego otwierania?

+0

Czy używasz własnego serwera lub po prostu wykonujesz plik HTML za pomocą przeglądarki (np. Przeciągając plik do ikony przeglądarki). –

+0

To nie powinno być. Z jakiej przeglądarki korzystasz. Wszystko, co mogę wymyślić, to problem z pamięcią podręczną przeglądarki. Polecam wyczyszczenie pamięci podręcznej przeglądarki, a następnie ponowne uruchomienie przeglądarki i sprawdzenie, czy to rozwiąże problem. Jak zapytał @ErikReppen, korzystasz z serwera lub po prostu otwierasz pliki. Jeśli jest to pierwsze, polecam skorzystanie z darmowej witryny hostingowej 000webhost lub utworzenie lokalnego środowiska z czymś takim jak xampp –

+0

czy próbowałeś wyczyścić pamięć podręczną przeglądarki i wszystkie pliki cookie. Niektóre serwery buforują wersje CSS przed ich uruchomieniem. – benny

Odpowiedz

17

Spróbuj "twardej" odświeżenie swojej przeglądarce ...

http://en.wikipedia.org/wiki/Wikipedia:Bypass_your_cache

Chodzi o to, aby ominąć pamięć podręczną przeglądarki. Różne przeglądarki radzą sobie z tym w różny sposób, a ten artykuł na wiki jest przyjemnym krokiem dla każdej głównej przeglądarki, jak to zrobić.

Ewentualnie możesz wyczyścić pamięć podręczną przeglądarki, która jest również objęta artykułem wiki.

+1

Dzięki! Myślę, że to działa najlepiej! Command + R na Maca w Chrome. –

+0

niesamowite, oszczędza mój dzień. – RainCast

+4

W chrome, wystarczy uderzyć: Ctrl + Shift + R – PlayHardGoPro

14

Myślę, że to problem z pamięcią podręczną.

Jak zlokalizować problem

Jeśli używasz Chrom lub Firefox lub Safari, kliknij prawym przyciskiem myszy na stronie i wybrać inspect element i wybrać zakładkę network.

Teraz odśwież stronę, jak zwykle, a zobaczysz wszystkie żądania http takiego:

Jeśli stan pliku css jest 304, to znaczy przeglądarka zapytać serwer pliku CSS, a serwer mówi: „nie, nie musisz mnie pytać, dałem ci wcześniej plik css, to się nie zmieniło. "

Jeśli stan pliku css ma wartość 200, ale jego rozmiar to from cache, oznacza to, że przeglądarka nawet nie pyta serwera o plik, przeglądarka uważa, że ​​ma najnowszy plik.

Myślę, że jesteś w drugim stanie (200 z pamięci podręcznej).

Jak rozwiązać ten problem:

  1. zawsze można wyczyścić pamięć podręczną brwoser aby zobaczyć zmiany. Możesz też wyłączyć pamięć podręczną przeglądarki w celu debugowania.

    Ale nie zawsze można powiedzieć użytkowników, aby wyczyścić pamięć podręczną, więc druga metoda:

  2. jeśli używasz PHP lub cokolwiek jak język serwera, dołącz ciąg kwerendy do nazwy pliku css:

    < związek rel = " stylów " type = " tekst/CSS " sekcję " http://www.example.com/style.css?ts=<?=time()?>&quot;/>

    99% czasu to zadziała.

  3. Jeśli jest to statyczna strona html, możesz ręcznie zmienić łańcuch zapytania css (lub nawet nazwę pliku css, jeśli chcesz).

+0

Wszystko wydaje się być w porządku w elemencie inspektora. Stan tekstu pliku mówi "Sukces". Może teraz działa? –

+0

Czy możesz zamieścić link do tej strony? Status tekstu powinien być kodem http. – Yuguo

+0

będąc na karcie inspekcja> zakładka sieci i uderzając cmd + r zrobiłem sztuczkę –

0

W zależności od przeglądarki może to być problem z buforowaniem.

Może być ustawienie w przeglądarce, które uniemożliwia aktualizację pamięci podręcznej.

Czy próbowałeś zresetować przeglądarkę do wartości domyślnych?

Powodem, dla którego pytam, jest Firefox i Chrome obsługuje się w ten sposób inaczej.

Jeśli wyczyścisz pamięć podręczną + pliki cookie w przeglądarce Firefox, może to nie zadziałać, dopóki nie zamkniesz okien WSZYSTKICH przeglądarek.

Chrome odświeży pamięć podręczną za pomocą poszczególnych kart.

Sugerowałbym może ponowne zainstalowanie przeglądarki, ponieważ z pewnością wydaje się, że jest to problem lokalny, ale nie jest związany z samym CSS.

Powiązane problemy