![]() |
Jak Javascriptem wykryć wyłączenie stylów? - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript) +--- Wątek: Jak Javascriptem wykryć wyłączenie stylów? (/thread-jak-javascriptem-wykryc-wylaczenie-stylow) |
Jak Javascriptem wykryć wyłączenie stylów? - Flexus - 07-11-2011 Jak w temacie. Szukałem w Google. Nic. Próbowałem pośrednio: ustawić stylami wartość jakiegoś atrybutu, a jednocześnie skryptem sprawdzać czy jest ustawiony na tę wartość, gdy w przeglądarce style są wyłączone. Także nic z tego. Macie jakieś pomysły? RE: Jak Javascriptem wykryć wyłączenie stylów? - Kartofelek - 07-11-2011 http://www.howtocreate.co.uk/tutorials/javascript/domstylesheets 1 kod na stronie Zawsze też możesz np stylami ustawić spanowi jakieś with czy coś i sprawdzić je za pomocą JS ![]() RE: Jak Javascriptem wykryć wyłączenie stylów? - Flexus - 07-11-2011 Dziękuję Kartofelku za odzew, ale własność styleSheets zwraca listę obiektów stylesheet w dokumencie. Zatem warunek: Kod: if (document.styleSheets) Kod: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" Sięgnąłem po navigator.preference. Niestety kod Kod: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" Dodam, że ustawianie stylu jakiemuś obiektowi, a potem sprawdzanie javascriptem, czy obiekt ma ten styl, nic nie daje, bo javascript odpowiada, że styl jest, mimo że w przeglądarce style są wyłączone. RE: Jak Javascriptem wykryć wyłączenie stylów? - Kartofelek - 07-11-2011 W sumie nie sprawdzałem działania tych metod. A czy coś takiego działa? Kod: if (document.styleSheets.length) { Bo to w sumie jest kolekcja więc raczej powinieneś sprawdzić jej długość RE: Jak Javascriptem wykryć wyłączenie stylów? - Flexus - 07-11-2011 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: 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") |