QbisieQ Napisano 12 Sierpień 2012 Napisano 12 Sierpień 2012 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 ?
kots Napisano 13 Sierpień 2012 Napisano 13 Sierpień 2012 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. :)
QbisieQ Napisano 13 Sierpień 2012 Autor Napisano 13 Sierpień 2012 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 ?
kots Napisano 13 Sierpień 2012 Napisano 13 Sierpień 2012 Hmm. Jeśli można wiedzieć: w jakim celu chcesz podawać php informację o tym czy JS jest dostępny czy też nie? :)
olaf Napisano 13 Sierpień 2012 Napisano 13 Sierpień 2012 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
QbisieQ Napisano 15 Sierpień 2012 Autor Napisano 15 Sierpień 2012 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
makak Napisano 15 Sierpień 2012 Napisano 15 Sierpień 2012 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.
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się