Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS][CSS] Nietypowa dynamiczna zmiana CSS
Skie
post
Post #1





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

Ostrzeżenie: (0%)
-----


Witam,
Czy da się za pomocą JS podmienić istniejący plik CSS na nowy, tak, by przeglądarka zapamiętała te zmiany?
Dokładnie chodzi mi o coś takiego:

Mam <select>'a z wyborem 3 styli CSS. Zmiana polega na tym, że przez AJAXa wysyłane jest zapytanie do pliku HTML, np. style2.html, który zawiera taki kod:

  1. <style type=text/css>
  2. @import url("style2.css");


Ok - to działa, wygląd strony ulega zmianie, a nazwa nowego stylu (style2.css) zostaje zapisana do bazy dla użytkownika, który zmieniał sobie wygląd strony w opcjach konta.

Problem właśnie tutaj się zaczyna. Gdy po zmianie stylu przechodzę na inną podstronę serwisu (za pomocą AJAXa), zmiany odnośnie nowego stylu są zapominane przez przeglądarkę i nowa podstrona jest generowana nadal z użyciem danych ze starego stylu.

Przeglądarka "zapamiętuje" nowy styl dopiero wtedy, gdy cała strona zostanie odświeżona i na nowo wygeneruje się kod html zawierający <head> ... </head>.

Wczytywanie pliku style2.html na każdej podstronie serwisu, dopóki użytkownik nie odświeży strony jest rozwiązaniem bardzo nieeleganckim.

Czy macie jakiś lepszy pomysł jak to zrobić, by przeglądarka zapamiętała nowy styl bez potrzeby odświeżania strony?

Ten post edytował Skie 23.07.2009, 21:01:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
To nic nie daje, bo podmienia adres pliku CSS w tagu HEAD, a przecież do czasu odświeżenia strony kod zawarty pomiędzy <head> i </head> nie jest odświeżany.

To Ty w końcu odświeżasz całą stronę, czy nie...? (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)

Przecież jak odświeżasz tylko zawartość, to jak Ci się CSS może zmienić...?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 09:19