Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS][PHP] kontrola treści przez javascripta
loganix
post 20.08.2008, 11:08:19
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
Go to the top of the page
+Quote Post
vokiel
post 20.08.2008, 12:19:53
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.

  1. <script language="JavaScript" type="text/javascript">
  2. // jak js jest włączony to te funkcje się wykonają
  3. // a jak nie to wykona się ta część


--------------------
Go to the top of the page
+Quote Post
loganix
post 20.08.2008, 15:03:23
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' ?
Go to the top of the page
+Quote Post
paziek
post 20.08.2008, 16:05:04
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 08:26