Arkusz CSS dodany przez JS

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
ODPOWIEDZ
egzemplarz
Nowy
Nowy
Posty: 143
Rejestracja: pt gru 08, 2006 3:46 pm

Arkusz CSS dodany przez JS

Post autor: egzemplarz »

Witam
Mam pytanie. Czy można przy użyciu JavaScript dodać do strony arkusz CSS? Jeśli tak to jak? Niezmiernie wdzięczny będę za odp.

Pozdrawiam

P.S. I jakby ktoś znał adres porządnego kursu JS, nie takiego gdzie są opisane tylko obiekty, ale cała składnia języka etc. to bardzo bym prosił o podanie linka.
kulmen
Nowy
Nowy
Posty: 64
Rejestracja: sob cze 23, 2007 3:24 am
Kontakt:

Re: Arkusz CSS dodany przez JS

Post autor: kulmen »

Kod: Zaznacz cały

document.write("<link rel='stylesheet' type='text/css' href='styl.css'>");
Jednak stylu przy pomocy js dodawać się nie powinno. Osobom, które mają wyłączony js strona po prostu całkowicie się rozsypie.
egzemplarz
Nowy
Nowy
Posty: 143
Rejestracja: pt gru 08, 2006 3:46 pm

Re: Arkusz CSS dodany przez JS

Post autor: egzemplarz »

Hm... A bez użycia document.write ?? Bo to chyba niezgodne jest z XHTML, czy mi się zdaje?
kulmen
Nowy
Nowy
Posty: 64
Rejestracja: sob cze 23, 2007 3:24 am
Kontakt:

Re: Arkusz CSS dodany przez JS

Post autor: kulmen »

Bez użycia document.write nie widzę możliwości. Wydaje mi się, że dynamiczne tworzenie elementów nagłówka html przy pomocy js nie jest możliwe. Pozostaje tylko wypisanie kodu. Ale nie jestem ekspertem od js. Może jest sposób o krórym nie wiem.

A co do zgodności z xhtml to z tego co pamiętam to validator nie sprawdza składni js. A skoro nie sprawdza to nawet kod błedny z punktu widzenia samego js jest zgodny z xhtml :-D Tyle, że go przeglądarka nie obsłuży poprawnie. :wink: Ale document.write obsłuży każda, która ma włączoną obsługę js.
ooo_michal
Przelotem
Przelotem
Posty: 245
Rejestracja: śr kwie 18, 2007 9:06 am

Re: Arkusz CSS dodany przez JS

Post autor: ooo_michal »

Nie wiem czy o to ci chodzi ale napewno można za pomocą JavaScript zmieniać ustawiony na początku arkusz css tak aby możnabyło np. zmienić kolory czcionek czy obrazki w tle. Dokładyny opis jak to zrobić znajdziesz pod adresem http://www.kurshtml.boo.pl/skrypty/skorki.html
Krzysztof Aszkiełowicz
Zaczyna działać
Zaczyna działać
Posty: 458
Rejestracja: pn maja 26, 2003 9:29 pm
Lokalizacja: Warszawa
Kontakt:

Re: Arkusz CSS dodany przez JS

Post autor: Krzysztof Aszkiełowicz »

może za pomocą DOM i tworzenia nowych elementów w XML i zakotwiczenie tego w <head>
egzemplarz
Nowy
Nowy
Posty: 143
Rejestracja: pt gru 08, 2006 3:46 pm

Re: Arkusz CSS dodany przez JS

Post autor: egzemplarz »

Dzięki za wszelkę pomoc. Zrobię chyba tak jak pisze Krzysztof ;).
Nimdil
Posty: 12
Rejestracja: czw sie 02, 2007 12:08 pm

Re: Arkusz CSS dodany przez JS

Post autor: Nimdil »

egzemplarz pisze:Hm... A bez użycia document.write ?? Bo to chyba niezgodne jest z XHTML, czy mi się zdaje?
Raczej Ci się zdaje - XHTML to stand. dotyczący dokumentu i nic mu do js'a. Gdybyś dynamicznie dodawał element konieczny a nie dawał żadnego elementu defaultowo byłoby to niezgodne (np. gdybyś element <title> dodawał js'em >tylko<) ze standardem, bo blokując js otrzymujesz dokument niezgodny ze standardem.

Natomiast document.write nie jest dobrym pomysłem bo łatwo się coś może rozjechać. Zakotwiczanie za pomocą DOM'a jest dużo lepszym pomysłem. Ew. można nadpisać całą zawartość elementu head za pomocą atrybutu innerHTML - paradoksalnie samego kodowania będzie wtedy mniej (czasowo).
Wadą tej opcji jest niezgodność atrybutu innerHTML z jakimkolwiek standardem DOM (co generalnie mało komu przeszkadza, bo przeglądarki z tego co wiem go poprawnie używają).
ODPOWIEDZ