Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ajax - podmiana arkusza styli do strony
Dobrek Kropielni...
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.05.2006

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


witam,
probuje rozwiazac nastepujacy problem:

strona posiada pewna czesc wspolnych styli (pojedynczy plik css) oraz kilka skorek (osobne arkusze styli) - zalaczenie ich wszystkich jako styli alternatywnych i ich podmiana przy pomocy techniki opisanej na http://www.alistapart.com/articles/alternate/ lub przy pomocy mechanizmu http://24ways.org/advent/introducing-udasss nie za bardzo wchodzi w gre - ograniczenie wynika z wagi poszczegolnych skorek kazda z nich to ok 100kB do zaladownia

rozwiazanie ktore działa ale niestety nie waliduje sie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) to dynamiczne umieszczenie w tresci strony (gdzies w sekcji body) tagu <link> z odwolaniem do dolaczanego arkusza styli

czy ktos z Was mial juz do czynienia z taka sytuacja ? macie jakies pomysly jak to rozwiazac ?

pozdrawiam
dobrek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
bigZbig
post
Post #2





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

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


Okazuje sie ze dla IE tez moze dzialac

Kod
<html><head>
  <link rel="stylesheet" id="myStylesheet" href="./red.css" type="text/css" />
  <script type="text/javascript">
  
// prototype StyleManger {
  function StyleManager() {
    this.varsion = '1.0';
  }  
  
  StyleManager.prototype.changeStylesheet = function(url) {
    this.removeStylesheet();
    this.addStylesheet(url);
  }
  
  StyleManager.prototype.addStylesheet = function(url) {
    var head = document.getElementsByTagName('head')[0];
    var link = document.createElement('link');
    link.id = 'myStylesheet'
    link.rel = 'stylesheet';
    link.type = 'text/css';
    link.href = url;
    head.appendChild(link);
  }
  
  StyleManager.prototype.removeStylesheet = function() {
    var head = document.getElementsByTagName('head')[0];
    var link = document.getElementById('myStylesheet');
    if(link) {
      head.removeChild(link);
    }
  }
// }
  StyleManager = new StyleManager();

  </script>
  
</head>
<body>
  <form action="" method="POST">
    <select onchange="StyleManager.changeStylesheet(this.value)">
      <option value="./red.css">red</option>
      <option value="./yellow.css">yellow</option>
      <option value="./green.css">green</option>
    </select>
  </form>
  <h1>PRÓBA</h1>
</body></html>
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: 11.10.2025 - 04:50