Posted August 12, 201212 yr Znalazłem w internecie dosyć sporo na ten temat, ale co chwila napotykam jakieś problemy. Od razu zaznaczę, że zależy mi na tym aby takie sprawdzenie było niewidoczne dla użytkownika. Nie mam na stronie formularza logującego wiec przemycenie informacji w ten sposób odpada. Na początku próbowałem czegoś w takim stylu: $jsOn=false; ?> <br /> document.write('<?php $jsOn=true; ?>');<br /> if($jsOn==true) echo'js is on'; else echo'js is off'; ?> Niestety okazało się, że przeglądarki tak czy inaczej wykonują kod zawarty w tagach php, więc umieszczenie php w również zawsze zostaje wykonane :/ Następnie spróbowałem przesłać informacja w niewidocznym formularzu: <br /> document.getElementById('jsTestForm').submit() // wysyła formularz<br /> if(isset($_POST['jsOn'])) echo 'js on'; else echo 'js off'; ?> Tutaj, nie wiem czemu przglądarka wpada w jakąś pętle i na okrągło odświeża stronę nic nie wypisując. Na koniec spróbowałem jeszcze czegoś takiego: $jsOn=false; echo' ';<br /> echo'var jsOn=true; $jsOn=jsOn; '; if($jsOn==true) echo'js is on'; else echo'js is off'; ?> Już nie mam pomysłu na to, zna ktoś może jakiś elegancki, prosty i niewidoczny dla usera sposób sprawdzenie czy js jest włączone czy nie ?
August 13, 201212 yr Witaj QubisieQ, możesz np. dodać klasę "jsOff" na body a później natychmiast ją usunąć za pomocą JS. Przykładowy kod w jQ: $('body').removeClass('jsOff'); To wszystko. :)
August 13, 201212 yr Author Muszę przyznać, że nie bardzo rozumiem o co chodzi i jak ma to zidentyfikowac obecność js ? Będę wdzięczny za szersze wytłumaczenie :) [edit] Dobra, chyba się pospieszyłem z odpowiedzią. Chodzi o to, żeby w php stworzyć klasę, w js ją usunąć i w php sprawdzić czy dalej istnieje ?
August 13, 201212 yr Hmm. Jeśli można wiedzieć: w jakim celu chcesz podawać php informację o tym czy JS jest dostępny czy też nie? :)
August 13, 201212 yr chyba nie bardzo rozumiesz jak dziala php. wywolaj jakas akcje w js. jaki chcesz efekt osiagnac bo sposobow jest kilka ale zalezy czy chcesz wyswietlic komunikat czy przekazac ta informacje getem
August 15, 201212 yr Author Po prostu są rzeczy które dużo prościej będzie mi wykonać w js niż w php, lub których w php w ogole nie da się wykonać, np zmiana skórki lub tłumaczenie strony na inny język bez przeładowywania. Chciałbym więc miec informację czy osoba która przegląda stronę ma obsługę js czy też nie, aby odpowiednio dostosować funkcjonalności, wygląd itd. Jak już wspomniałem interesuje mnie metoda niewidoczna dla użytkownika, czyli nie komunikat. Wolałbym również nie używać metody get - chciałbym mieć "czyste" adresy
August 15, 201212 yr No to chyba właśnie takie trik jak napisał kots potrzebujesz. Masz styl tak jakby użytkownik nie miał włączonego js. I skrypt, który wyłącza ten styl w js. Dzięki temu jak ktoś ma włączoną javescript widzi stronę tak jak chcesz, a jak nie ma to ten styl np. jsOff go obsługuję. Przynajmniej tak mi się wydaje, że to ma sens.
Create an account or sign in to comment