Перейти к содержимому


Фотография
- - - - -

Как вызвать в php нужный css, если нет JS?


  • Пожалуйста, авторизуйтесь, чтобы ответить
12 ответов в этой теме

#1 Рохас

Рохас

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 331 сообщений
0
Обычный
  • Пол:Мужчина

Опубликовано 20 March 2009 - 13:11

В общем, проблема в следующем.
В моем index.php c помощью ява-скрипт, в зависимости от разрешения монитора пользователя, подгружается нужный css.
Код прописан в <header> и выглядит так:
[codebox]<script language="javascript">
var height=0;
var width=0;
if (self.screen) { // для Netscape и IE версий 4 и выше
width = screen.width
height = screen.height
}
else if (self.java) { // для Netscape3
var jkit = java.awt.Toolkit.getDefaultToolkit();
var scrsize = jkit.getScreenSize();
width = scrsize.width;
height = scrsize.height;
}
if (width > 1024) {
document.writeln('<link rel=\"stylesheet\" href=\"сайт/css/default_css.css\" type=\"text/css\"/>')
}
else if (width = 1024)

{ document.writeln('<link rel=\"stylesheet\" href=\"сайт/css/1024_css.css\" type=\"text/css\"/>');
}
else { document.writeln('<link rel=\"stylesheet\" href=\"сайт/css/800_css.css\" type=\"text/css\"/>');
}
</script>[/codebox]
Все нормально работает, но ровно до того момента, пока не зайдет пользователь, у которого не установлен (выключен) JavaScript. Тогда, естественно, не загрузится ни одного CSS, что печально.
Вот вопрос, как бы средствами php сделать такое условие, чтобы при отсутствии JS загружался дефолтный css, а если JS работает, то загружался тот CSS, который предлагает JavaScript?
  • 0

#2 лайт

лайт

    iddqd

  • True Members
  • PipPipPipPipPip
  • 3843 сообщений
9
Обычный
  • Пол:Мужчина

Опубликовано 20 March 2009 - 15:17

Никак. PHP скрипты выполняются на сервере, а не у клиента.
  • 0

#3 GeX

GeX

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 11350 сообщений
111
Очень хороший
  • Пол:Мужчина
  • Город:Ленинский 110/2

Опубликовано 20 March 2009 - 15:30

Можно предложить пользователю самому ввести параметры )))
  • 0
Я в контакте Ты должен быть сильным, иначе, зачем тебе быть
Размещенное изображениеРазмещенное изображение
Размещенное изображениеРазмещенное изображение

#4 Рохас

Рохас

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 331 сообщений
0
Обычный
  • Пол:Мужчина

Опубликовано 20 March 2009 - 16:13

Никак. PHP скрипты выполняются на сервере, а не у клиента.

Да это-то ясно.. хреново, блин, придется забить на юзеров без явы :)

Можно предложить пользователю самому ввести параметры )))

Тоже вариант. Но это уж слишком некрасиво.
  • 0

#5 Veline

Veline

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 759 сообщений
2
Обычный
  • Пол:Мужчина
  • Город:SPB

Опубликовано 20 March 2009 - 17:00

Если сервер свой, то на уровне php можно использовать browscap.
Если такой возможности нет, то

<noscript>
	<link rel="stylesheet" href="no_script.css" type="text/css" />
</noscript>
<script type="text/javascript">
	document.writeln('<link rel=\"stylesheet\" href=\"script.css\" type=\"text/css\"/>');
</script>

  • 0

#6 Рохас

Рохас

    Super True Member

  • True Members
  • PipPipPipPipPip
  • 331 сообщений
0
Обычный
  • Пол:Мужчина

Опубликовано 20 March 2009 - 17:16

проверим щас..

Veline, спасибо большое! работает!
  • 0

#7 лайт

лайт

    iddqd

  • True Members
  • PipPipPipPipPip
  • 3843 сообщений
9
Обычный
  • Пол:Мужчина

Опубликовано 20 March 2009 - 18:30

Нашел ещё один вариант. Таки php умеет: http://ru.php.net/ma...get-browser.php.
[javascript] => 1.
  • 0

#8 Veline

Veline

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 759 сообщений
2
Обычный
  • Пол:Мужчина
  • Город:SPB

Опубликовано 20 March 2009 - 18:37

Нашел ещё один вариант. Таки php умеет: http://ru.php.net/ma...get-browser.php.
[javascript] => 1.


Прочитай первую строчку моего предыдущего поста :)
  • 0

#9 лайт

лайт

    iddqd

  • True Members
  • PipPipPipPipPip
  • 3843 сообщений
9
Обычный
  • Пол:Мужчина

Опубликовано 20 March 2009 - 21:53

Прочитай первую строчку моего предыдущего поста :)

Нашел ещё один вариант. Таки php умеет: http://ru.php.net/ma...get-browser.php.
[javascript] => 1.


  • 0

#10 Veline

Veline

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 759 сообщений
2
Обычный
  • Пол:Мужчина
  • Город:SPB

Опубликовано 20 March 2009 - 22:01

ну ты почитай повнимательнее что нашел-то и как оно работает )
  • 0

#11 лайт

лайт

    iddqd

  • True Members
  • PipPipPipPipPip
  • 3843 сообщений
9
Обычный
  • Пол:Мужчина

Опубликовано 20 March 2009 - 22:43

ну ты почитай повнимательнее что нашел-то и как оно работает )

http://ru.php.net/ma...attern=browscap
Отвечай на мой ответ!11
  • 0

#12 Veline

Veline

    Super True Member

  • Moderators
  • PipPipPipPipPip
  • 759 сообщений
2
Обычный
  • Пол:Мужчина
  • Город:SPB

Опубликовано 20 March 2009 - 22:55

http://ru.php.net/ma...attern=browscap
Отвечай на мой ответ!11


http://ru.php.net/ma...get-browser.php
Note: In order for this to work, your browscap configuration setting in php.ini must point to the correct location of the browscap.ini file on your system.
browscap.ini is not bundled with PHP, but you may find an up-to-date » php_browscap.ini file here.
While browscap.ini contains information on many browsers, it relies on user updates to keep the database current. The format of the file is fairly self-explanatory.
  • 0

#13 лайт

лайт

    iddqd

  • True Members
  • PipPipPipPipPip
  • 3843 сообщений
9
Обычный
  • Пол:Мужчина

Опубликовано 20 March 2009 - 23:05

Ок. Но можно было сразу дать ссылку на функцию.
  • 0


Посетителей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных пользователей