Automatyczne odświeżanie strony na urządzeniach mobilnych

Witam. Od razu przepraszam za tytuł, ale nie wiedziałem jak to ująć inaczej.

Mam problem ze stroną zbudowaną dla urządzeń mobilnych. Więc: kiedy wprowadzam zmiany w kodzie źródłowym i wrzucam go na serwer, to nie jest on automatycznie aktualizowany przez przeglądarkę w telefonie. Aby zmiany były widoczne, trzeba stronę odświeżyć. Co zrobić, by strona każdorazowo była ładowana od początku?

Jeśli to mobilna opera to zmień przeglądarkę, jeśli to inna przeglądarka wyłącz ustawienia które są odpowiedzialne za cache’owanie stron lub przyśpieszanie ich ładowania.

Ale każdy używa innej przeglądarki. Nie mogę zmuszać ludzi do wyłączania cache’owania, bo jest to kłopotliwe (nie każdy to potrafi i nie każdy wie co to “cache”)

Dla html znalazłem rozwiązanie: 

<meta http-equiv="cache-control" content="no-cache">

Jednak styl.css zostaje ten sam. Jaki kod zmusi przeglądarkę do wyczyszczenia cache styl.css?

dodaj parametr do styli np style.css?v=2 i po każdej zmianie cssów zwiększasz licznik

 

 

Problem wydaje mi się dość zabawny. Dlaczego? Zawsze jak zrobi się stronę jakąkolwiek a potem wprowadzi zmiany w kodzie czy to css czy html to po nadpisaniu plików na serwerze stronę trzeba przeładować i to jest normalne. Wersja przeglądarki czy systemu nie ma żadnego znaczenia.

Jednak jak bardzo chcesz użyj tego 

<head>
	<meta http-equiv="Refresh" content="s" />
</head>

i za s wpis w sekundach wartość. np. 5 wtedy strona automatycznie odświeżać będzie się co 5 sekund. Po zakończeniu prac nad stroną koniecznie trzeba ten wpis usunąć z head.

 

Nie jestem taki głupi za jakiego mnie wziąłeś. To oczywiste, że aby zobaczyć zmiany trzeba stronę odświeżyć. Problem wygląda tak: zmieniam kod > wstawiam na serwer > uruchamiam przeglądarkę w telefonie > wpisuję adres strony > (brak zmian) > trzeba odświeżyć.

Rozumiem, gdyby strona była włączona przez zaktualizowaniem kodu, to wtedy odświeżam.  Ale to każdą podstronę trzeba odświeżać. Nie wyobrażam sobie, żeby napisać na stronie tak: “odśwież stronę, bo poprzestawiałem coś w kodzie, a bez odświeżenia tego nie zobaczysz.” Na komputerach nie ma tego problemu - wszystkie zmiany widać od razu. Problem pojawia się na smartfonach

 

A jakiego edytora używasz?

A jakie to ma znaczenie :smiley:

Nic z tym nie zrobisz, przeglądarki mobilne nie bez powodu cachuja strony, możesz zmieniać jedynie nazwę/adres/wersje plików css w tedy je pobiorą. Jeśli się nie zmieniają to przeglądarka korzysta z tych z pamięci podręcznej, żeby zaoszczędzić transfer i przyśpieszyć ładowanie strony. To tak ma działać, zazwyczaj cache trzymany jest kilka godzin lub do zamknięcia przeglądarki. Poza tym nie wiem czemu to taki problem wielki dla Ciebie przecież nie zmienia się strony co 5 minut.

Ano takie że nie które edytory maja wbudowaną możliwość pogdladu sytony na telefonie, tablecie lub desktop. Ale zakładam że kod pisany jest pod windows.

Druga rzecz która mi się przypomniała, przecież są przeglądarki umożliwiające w narzędziach dla developera na ustawienie wielkości ekranu w px, wystarczy zatem ustawić rozmiar i mamy symulator smartfona a moja jedna linia ciągłego odświeżania zadziała.

Tylko takie podglądy nie stworzą warunków iście ze smartfona. To tylko placebo. Z resztą, co ma kod strony na Windowsa do kodu strony na Linuksa czy OS X’a? Jedyne co może pójść nie tak to różnice pomiędzy renderowaniem w przeglądarkach.

Na urządzeniach mobilnych przeglądarki zapisują zasoby (jak CSS) w pamięci podręcznej by ograniczyć użycie danych. Tak jak mówi @Fizyda, strony nie zmienia się raczej co 5 minut. Wyłącznie cacha mogłoby zakończyć się jedynie negatywnym skutkiem i lepiej byłoby jednak by zmiany były widoczne po odświeżeniu strony.

Jednym z elementów PageRanku jest prędkość ładowania strony - z naciskiem na urządzenia mobilne.

Jeśli używasz Androida i Chroma do możesz użyć zdalnego debugowania. Z tego co mnie pamięć nie myli jeśli masz otarte narzędzia deweloperskie na stronie to ta z automatu nie jest cachowana.

Dodatkowo jak chcesz za symulować jak wygląda strona mobilna to możesz na desktoptowej wersji Chroma użyć podglądu jak wygląda ona na urządzeniu mobilnym, a jeśli stwierdzisz że jest ok to możesz sprawdzić to na samym urządzeniu