Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: funkcja sprawdzajaca obsluge javascript?
Forum PHP.pl > Forum > PHP
kajko84
witam

nie wiem czy umiescilem ten post w odpowiednim dziale (byc moze powinien byc w Javie), ale...

potrzebuje funkcji ktora sprawdzalaby czy uzytkowik ma wlaczona oblsuge java script.

mam na stronie skrypt w javie ktory wysuwa / chowa tabelke po kliknieciu i gdy obsluga skrytpow jest wylaczona owa tabelka oczywiscie sie nie wysuwa, wiec chcialbym umiescic jakas funkcje ktora sprawdzalaby czy user ma wlaczone jave i prosta petle: jesli ma - to rozwijana skryptem tabelka, jesli nie - to tabelka od razu rozwinieta...

przeszukalem forum, googlowalem i nic.
moze ktos zetknal sie z czyms takim?
bardzo prosze o pomoc i pozdrawiam

---------------------------------------------------------------

znalazlem na sieci cos takiego:

  1. <script language="JavaScript">
  2. <!-- Hide the script from old browsers --
  3. function browsertest ()
  4. {document.write('<font color=#FF0000><b>Twoja przeglądarka przeszła pomyślnie test JavaScript</b></font>')}
  5. // --End Hiding Here -->
  6.  
  7.  
  8. <script LANGUAGE="JavaScript">
  9. <!--
  10. {browsertest();}
  11. //-->


niestety javyscript zbyt dobrze nie znam, wiec mam kilka pytan.
czy da sie go jakos przerobic zeby zamiast komunikatu zwracal np zmienna php o podanej wartosci?
tak zebym pozniej mogl uzyc jej w petli jako warunek...
nie wiem czy to ma jakis sens, jesli nie to sorki smile.gif

pozdro
wipo
A nie prościej zrobić rozwiniętą tabelkę i w body onload wpisac chowanie?
Jeżeli JS działa to się schowa jak nie to nie
kajko84
hmm pomysl jest oki, zaraz sprawdze jak to dziala smile.gif
dzieki

----------------------------------------

kurde nie wiem jak to powino byc, bo tabelke mam zawsze zwinieta
jest tak: jest to zrobione w advAJAXie

funkcja od zwijania wyglada tak:

  1. <?php
  2. function showHide(id) {
  3.  
  4. obj = document.getElementById(id);
  5. obj.style.display = (obj.style.display == "block" ? "none" : "block");
  6. }
  7. ?>


w CSSie taki styl:

  1. <?php
  2. #rozwin1, #rozwin2, #rozwin3 {
  3. display: none
  4. }
  5. ?>


tabelka ktora sie rozwija zwija ma ustawione id="rozwin1"

link ktory ja rozwija wyglada tak:

  1. <a href="java script:showHide('rozwin1') " title="Kliknij aby zobaczyć listę dostępnych płatności..."><?php echo $selection[$i]['module']; ?></a>


a w body wpisalem <body onload="showHide(rozwin1)">
thornag
Taki kod:
  1. <?php
  2. echo "<pre>";
  3. ?>


Zwraca
Kod
Class Object
(
    [browser_name_regex] => ^opera/9\.0.* (windows nt 5\.1.*).*$
    [browser_name_pattern] => Opera/9.0* (Windows NT 5.1*)*
    [parent] => Opera 9.0
    [platform] => WinXP
    [browser] => Opera
    [version] => 9.0
    [majorver] => 9
    [minorver] => 0
    [css] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] => 1
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] =>
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)


Jest tam wlasciwosc javascript. Tutaj masz swoja obsluge w zmiennej php, nie wiem tylko jak to sie ma do oszukiwania tego itp. Nigdy nie korzystalem, warto byloby poprowadzic troche testow, mimo wszystko jakas kotwice do szukania masz smile.gif

Powodzenia.
kajko84
dzieki za pomoc, ale...

serwer zwraca:
Warning: get_browser() [function.get-browser]: browscap ini directive not set. in D:\SERWER\httpd-users\kajko\test\Untitled-2.php on line 36

niestety na serwerze na ktorym bedzie umieszczona stronka rowniez ma wylaczona obsluge browscap.ini :/

pomocy, prosze...
wipo
A daj w css zamiast none wartosc block
kajko84
dalem block i teraz jest caly czas rozwienieta
powinna sie jeszcze chowac jesli java jest wlaczona, no ale niestety - nie chce...

jak powinno byc w body? bo teraz mam tak:

  1. <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" onload="showHide()">
wipo
Wygląda dobrze.
Jak masz Firefox-a to włącz konsolę javascript i zobacz czy nie ma jakiegoś błędu
kajko84
Błąd: obj has no properties
Plik źródłowy: http://localhost/~kajko/sklep/checkout.js
Wiersz: 5

taki komunikat z konsoli bledow FF mam

kod pliku checkout.js

  1. <?php
  2. function showHide(id) {
  3.  
  4.  obj = document.getElementById(id);
  5.  
  6. if( obj.style.display == 'none' ) {
  7. obj.style.display = 'block';
  8. }
  9. else {
  10.  obj.style.display = 'none';
  11.  }
  12. }
  13. ?>
wipo
ja nie wiem czy to ty wstawiłeś <?php czy skrypt forum ale to prawidłowe nie jest
A daj przed tym
obj = document.getElementById(id);
daj
alert(id);
kajko84
skrypt forum wstawil...

a w tresci alertu mam:
undefined
wipo
Undefined czyli nie ejst zdefiniowany. Zobacz źródło strony czy w kodzie masz ten kawałek czy nie
mike
~kajko84 i inni piszący wątki o Java. Mam dla Was komunikat.


Java to nie to samo co JavaScript !

Proszę poprawić temat wątku. Wprowadza czytelników w błąd.
kajko84
haaa, problem rozwiazany!

w body dopisalem tak onload="showHide('rozwin1')"

i efekt jest taki jak byc powinien smile.gif

dzieki bardzo 'wipo' za zainsteresowanie sie moim problemem i pomoc
dziekuje tez wszystkim pozostalym

pozdrawiam

-------------

do mike_mech

mimo tego ze znam javescript dosc slabo wiem o tym smile.gif
mysle ze wiekszosc czytajacych tez, ale nie ma co dyskutowac - moj blad
temat zaraz poprawie, a watek mozna zamknac

pozdro
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.