За последние 24 часа нас посетили 18850 программистов и 1608 роботов. Сейчас ищут 932 программиста ...

Проверка на java script

Тема в разделе "PHP для новичков", создана пользователем allowance, 23 фев 2010.

  1. allowance

    allowance Активный пользователь

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    Как реализовать проверку включенности java скрипта в браузере?
     
  2. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    на сервере бессмысленно, на клиенте - в хтмл есть тэг <NOSCRIPT>
     
  3. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    engager
    Почему бессмысленно?


    allowance
    Не помню как такое делается, но на вскидку:
    1) Послать что-нибудь аяксом.
    2) Выдать страничку типа "Включите js!" и тут же уйти с нее при помощи javascript.
    3) Если выдается страница с формой, то добавить к ней hidden поле и заполнять его js'ом.
     
  4. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Какой вы бред понаписали, единственный, кто тут дал правильный ответ - engager.
     
  5. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Apple
    Почему бессмысленна такая проверка?
     
  6. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    бессмысленна на мой взгляд потому, что клац - нет жаваскрипта, загрузили страницу сгенеренную под не-джеэс браузер. клац снова - джеэс есть, а страница старая осталась.
    какая-то нелогичность.
     
  7. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    Вконтакте вообще себя никакими ворнингами не утруждает, просто не работает без жаваскрипта и все.
    А вроде солидный ресурс, явно не криворукими накоден.
     
  8. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Он хочет, чтобы его сайт работал так же хорошо и в командной строке.
     
  9. allowance

    allowance Активный пользователь

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    engager
    А такое разве можно реализовать:

    у кого java script включен - показать форму1
    а у кого выключен - показать форму2
     
  10. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    Проведем эксперимент. Сделаем пост-запрос из браузера с включенным JS и посмотрим хидеры.
    Выключим JS и сделаем тот же запрос:
    Попытаемся найти 10 отличий.
    Вывод. С первого запроса никак не определить server-side, включен ли JS. С помощью <NOINDEX> можно какое-нить извращение выродить (типа сгенерить в форме скрытый параметр), но оно того не стоит. Поверь.
     
  11. allowance

    allowance Активный пользователь

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    engager
    Ну к примеру, есть форма регистрации с динамичном селектом который работает при включенном java script! Если у пользователя будет отключен java script то он не зарегистрируется! Я думаю оно того стоит!
     
  12. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    дело твое, но оно неблагодарное. еще раз приведу пример вконтакте. попробуй там зарегаться без жава-скрипта.
     
  13. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    если уж так хочется сделать универсальное приложение, чтоб работало и с и без жава-скрипта - никаких проблем не вижу. просто чуть сложнее будет структура хтмл-страниц, и пхп-скриптов. ну вот тебе псевдо-пример:

    HTML:
    1. <form action='/reg.php' method='post'>
    2. <input type='text' name='login'/>
    3. <input type='text' name='pwd'/>
    4. <input type='submit' name='login' onclick='doAjax();'/>
    5. </form>
    если жава-скрипт выключен,произойдет просто сабмит формы, если влючен, вызовется функция doAjax(), где ты можешь передать дополнительный параметр, сигнализирующий скрипту reg.php, что это аякс запрос. в этом случае пхп скипт должен выдать аякс-ответ, а в первом хтмл-страницу.
     
  14. allowance

    allowance Активный пользователь

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    engager
    Ну а как можно увязать динамический селект для тех у кого включен java script и обычный селект для тех у кого нет java script?
     
  15. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    что за динамический селект? имеешь в виду тэг <SELECT> - типа выбрал регион, подгрузились города?
     
  16. allowance

    allowance Активный пользователь

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    engager
    Да именно так.
     
  17. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    короче, в хидерах запроса ничего на тему влючен ДжС или нет, не передается. поэтому с первого раза сгенерить страницу не получится.
     
  18. allowance

    allowance Активный пользователь

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    engager

    А как такой вариант?

    Код (Text):
    1. $browser = get_browser( );
    2. // Преобразовать $browser в массив $browser = (array) $browser;
    3. if ($browser["javascript"] == 1) :
    4. print "Javascript enabled!";
    5. else :
    6. print "No javascript allowed!";
    7. endif;
    Правда нужно browcap.ini скачать и прописать в php.ini
     
  19. никак. этот вариант лишь сообщит, поддерживает ли браузер JS. Включен он или нет - не узнать.
     
  20. allowance

    allowance Активный пользователь

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    флоппик
    Хреново! :)