Kartofelku - przykro mi, także nie działa. Sprawdziłem, ale nie zdziwiłem się, że nie działa. Bo przecież document.styleSheets zwraca listę obiektów stylesheet w dokumencie, a to nie ma związku ze stylami w przeglądarce. Ale dodanie length poprawiło sytuację o tyle, że kod z: prawidłowo pokazuje czy w dokumencie są określone style czy nie. Ściśle - czy są określone w sekcji head. Bo jeśli są w body przy znacznikach style="coś tam", to nie wchodzą do zliczanej kolekcji.
Zatem wracam to pytania, dlaczego kod z navigator.preference .... nie działa? A może należy szukać zupełnie innego rozwiązania?
Problem wydaje mi się o tyle istotny, że chcąc nie po amatorsku tworzyć strony, należałoby zabezpieczać się przed wyłączaniem stylów przez użytkownika (podobnie jak przed wyłączaniem JavaScriptu) i przynajmniej informować go - co i dlaczego jest zniekształcone lub niewidoczne na ekranie, jeśli wyłączy style. Np. jeśli osadzę playera flashowego przy pomocy object, to wyłączenie stylów w przeglądarce powoduje znikanie object. Nawet zwykłe <img src="cos_tam.jpg" width="400" height="300" alt=""/> w Fx traci wprowadzone wymiary obrazka tj. obrazek wraca do pierwotnych wymiarów (w IE ta przypadłość nie występuje).
Podejrzewam, że działa tylko w najnowszych wersjach przeglądarek. Jednak, aby ustalać poprzez testy czy w tym tkwi problem, najpierw należy ustalić prawidłowy kod. Bo może zawiera jakiś błąd?
Kod:
if (document.styleSheets.length)
Zatem wracam to pytania, dlaczego kod z navigator.preference .... nie działa? A może należy szukać zupełnie innego rozwiązania?
Problem wydaje mi się o tyle istotny, że chcąc nie po amatorsku tworzyć strony, należałoby zabezpieczać się przed wyłączaniem stylów przez użytkownika (podobnie jak przed wyłączaniem JavaScriptu) i przynajmniej informować go - co i dlaczego jest zniekształcone lub niewidoczne na ekranie, jeśli wyłączy style. Np. jeśli osadzę playera flashowego przy pomocy object, to wyłączenie stylów w przeglądarce powoduje znikanie object. Nawet zwykłe <img src="cos_tam.jpg" width="400" height="300" alt=""/> w Fx traci wprowadzone wymiary obrazka tj. obrazek wraca do pierwotnych wymiarów (w IE ta przypadłość nie występuje).
Podejrzewam, że
Kod:
navigator.preference("browser.enable_style_sheets")