Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Определение разрешения монитора
цитата
02/10/09 в 03:54
 Toner
Господа, подскажите по такому вот вопросу... как определить разрешение экрана для последующего иcпользования этого значения в css.

Т.е. уже при загрузке кода указан в дивах стиль под разрешение юзера.

Голову уже сломал, погуглил, нифига не нашел по теме.

жаваскрипт там точно не используется как я понял...

Всем рейтинг smail54.gif

Последний раз редактировалось: Toner (21/04/15 в 22:15), всего редактировалось 1 раз
цитата
02/10/09 в 10:51
 x123p
Что-то мне подсказывает что нельзя получить разрешение экрана в CSS. Но можно получить его в JS и загружать разные CSS файлы в зависимости от разрешения.
Пример:
Код:
<script type="text/JavaScript">
    var screenwidth = screen.width;
    if (screenwidth <= 1024) {
      document.write('<link rel="stylesheet" href="http://domain.com/regular.css" type="text/css" media="screen" />');
    }
    else {
      document.write('<link rel="stylesheet" href="http://domain.com/widescreen.css" type="text/css" media="screen" />');
    }
</script>


Поправде если я не прав.
цитата
02/10/09 в 13:06
 benzole
так разрешение монитора можно определить средствами флэшового actionscript
цитата
02/10/09 в 13:46
 Toner


Последний раз редактировалось: Toner (21/04/15 в 22:16), всего редактировалось 1 раз
цитата
02/10/09 в 13:53
 Some Milk
Toner писал:
все это понятно давно, JS, flash и т.д.
скажите мне как определяют разрешение они ? юпорн и кизмувис...
у них четко уже сразу в коде присутствует вот что
Код:
<body class="resolution1280">


Только что посмотрел. Юпорн - джаваскриптом совершенно бесхитростно. Смотрим код страницы заставки (именно заставки, которая один раз на сессию появляется мол мне есть 18 лет) и видим код:

Код:

function saveSplash(domain) {
   var expDate = new Date();
   expDate.setTime(expDate.getTime()+(1*24*3600*1000));
   setCookie("age_check", 1, expDate, '/', domain);
   setCookie("screen_width", getScreenWidth(), expDate, '/', domain);
}

цитата
02/10/09 в 14:01
 Some Milk
Кизмувиз тоже джаваскрипт, но уже на каждой странице.

http://www.keezmovies.com/inc/v3/js/keez.js

Код:

function handleResolution() {
   var winWidth = WIN.width();
   var resolutions = [1920, 1680, 1280, 1024, 780, 640];
цитата
02/10/09 в 14:39
 Toner
ага, вот оно что, значит не очень то внимательно смотрел icon_smile.gif

показалось что появилась какая-то новая фишка, а оказывается все так бонально!!! Оценил по максимуму!!! Спасибо, разобрался.
цитата
02/10/09 в 17:21
 Toner
хех, в процессе теста обнаружил такую вот гадость...

JS вставляет куку, потом следом читает php эту куку, но он ничего не находит, только лишь при повторной загрузке он её видит

В чем грабли ?
цитата
02/10/09 в 22:14
 Corex
Цитата:
JS вставляет куку, потом следом читает php эту куку, но он ничего не находит

Видимо у тебя отрабатывает php, выводит что-то в браузер, а там уже JS ставит куку. Т.е. кука ставится позже, чем отрабатывает скрипт.

Сделай страницу предзагрузки с JS, который будет определять разрешение экрана и ставить куку, либо редиректить на соотв. УРЛ.
цитата
03/10/09 в 00:53
 Toner


Последний раз редактировалось: Toner (21/04/15 в 22:17), всего редактировалось 1 раз
цитата
03/10/09 в 02:40
 x123p
Ну я же предлоил с JS но без редиректов. Ну в крайнем случае адрес к ксс может содержать параметры в которых содержиться разрешение и направляться к скрипту который будет выгонять CSS.
цитата
03/10/09 в 03:54
 Toner


Последний раз редактировалось: Toner (21/04/15 в 22:17), всего редактировалось 1 раз
цитата
03/10/09 в 07:05
 Some Milk
Насчет того, что куки видно только после перезагрузки страницы - так и должно быть, это следует из того, как вообще куки работают. Если хочешь - могу объяснить, если лень - просто прими как данность icon_smile.gif

То есть на юпорне кука ставится на сплешскрине, а дальше уже скрипты берут ее и ставят в css.

На кизмувиз же если ты глянешь в тот же javascript, то там видно, что класс css для body ставится тем же javascript'ом, вот так:

Код:
body.className = body.className.replace(/ *resolution[0-9]+/, '') + ' resolution'+lastSize;


т.е. в css прописываются стили, а какой именно стиль берется для body, решает уже javascript
цитата
03/10/09 в 15:29
 Toner
отлично! вот и разжевали все...

спасибо всем!!!

отдельное спасибо Some Milk


Эта страница в полной версии