![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 20.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mój problem polega na tym, że wprowadzając ajax'a do mojej strony mam problem z rozdzieleniem sytuacji gdy JS jest włączony u klienta i gdy jest wyłączony. Z tego co wiem można to sprawdzić tylko po stronie klienta po prostu wywołując jakiś skrypt który albo się uruchomi (js enabled) albo zostanie zignorowany. Czy da się jakoś sprawdzić po stronie serwera czy js jest włączony? szukałem w zmiennych globalnych php ale chyba nie ma takiej informacji tam .. Czy taki (to jest schemat) kod może zadziałać? - chodzi o to że gdy js jest włączony to to co wygeneruje php nie zostanie wyświetlone, a jeżeli jest wyłączony to zostanie. Kod <script type="text/javascript"> if(1==2) // absurd { </script> <?php echo 'JS jest wyłączony skoro to widzisz'; ?> <script type="text/javascript"> } </script> Ma ktoś jakiś pomysł na to inny? Bo ten mój nie działa jak powinien ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli przesyłasz coś z ajaxa, możesz dodać parametr, że idzie to ajaxem, a jak nie to znaczy ze zostało normalnie wywołane.
Na stronie dajesz link do php i w przypadku gdy zadziała ajax to przejmujesz jego akcję, a jak nie zadziała to skrypt jest wywoływany bezpośrednio. Wtedy nie ma ograniczeń w działaniu serwisu dla tych z javascriptem i tych bez. Tyle, że trzeba projektować trochę inaczej. Tak czy inaczej nie warto bardzo się tym zajmować, bo ok 98%usr ma włączoną javascript. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 20.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Może gdy przedstawie sprawę z innej strony będą jakieś inne pomysły bo dostepu do serwera nie mam takiego niestety.
Chodzi o to przede wszystkim, że żeby podpiąć ajax'a musiałem przechwytywanie treści (GET'owski stuff) przenieść do odmiennego pliku bo gdy ajax uruchamial 'index.php?p=1' to strona ladowala się sama w sobie 2 raz. wiec teraz linki wyglądają 'load.php?p=2' więc po kliknięciu czegoś 'load.php' obsługuje wszystko a tam z kolei: jezeli js jest włączony to powinna się tylko treść pojawić która będzie wczytana do strony, a jak jest wyłączony js to powinno się wszystko pojawić to co w index'ie plus jeszcze treść. macie jakiś pomysł jak można by w normalnej sytuacji, gdy js jest wyłączony, wczytywać w odpowiednie miejsce dane z 'load.php' ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 25 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Możesz zrobic coś w stylu
Kod <script type="text/javascript">document.write('load.php?p=2');</script> <noscript>load.php?p=1</noscript> Albo zrobić onclick na <a> i blokować domyślna akcje (przejście do innej strony) i zastąpic go przejściem do innej strony (window.location='nowa strona'). Zobacz sobie tutaj jak się to robi (akurat tutaj pojawia sie okienko z potwierdzeniem zamiast przejscia do innej strony, ale to juz prosta podmiana) Temat: Potwierdzenie usuniecia |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 17.06.2025 - 08:26 |