Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как определить разрешение экрана у клиента?

Сообщения:  [1-9] 

 
 автор: glsv (Дизайнер)   (24.05.2005 в 04:28)   письмо автору
 
   для: Duran   (23.05.2005 в 11:24)
 

Можно также с помощью JavaScript. Но в этом же и проблема. Чтобы эти данные попали в скрипт нужно перегрузить страницу. Т.е. получили данные, записали в куки и получили эти данные в скрипте, при следующей перезагрузке страницы.

   
 
 автор: Duran   (23.05.2005 в 11:24)   письмо автору
 
   для: cheops   (17.05.2005 в 23:42)
 

В продолжении темы. ТАким способом можно определить тока разрешение монитора, а не текущий размер окна. Можно ли динамически отслеживать размеры (скажем по onresize) ячейки таблицы или того же окна ?

   
 
 автор: cheops   (17.05.2005 в 23:42)   письмо автору
 
   для: Ivan   (17.05.2005 в 18:18)
 

Да, к сожалению, придётся перегрузить страницу, чтобы информация попала с клиентской машины на сервер. Эту информацию удобно засунуть в cookie - тогда в следующий раз можно не определять разрешение, а взять его из cookie, да и перезагрузка страницы не потребуется.

   
 
 автор: Ivan   (17.05.2005 в 18:22)   письмо автору
 
   для: sancho   (17.05.2005 в 14:06)
 

Ой-ей, спасибо, достаточно. Принцип ясен, детали проработаем :)

   
 
 автор: Ivan   (17.05.2005 в 18:18)   письмо автору
 
   для: cheops   (17.05.2005 в 13:55)
 

Ага, получается, страничка должна будет перегрузиться еще раз, после того, как мы "спросим" у клиента. А сразу при первом его запросе такая информация на сервер не поступает? В виде каких-нибудь заголовков?

А к чему лучше потом привязать полученные данные, чтоб они запомнились на всю оставшуюся... сессию?

   
 
 автор: sancho   (17.05.2005 в 14:06)   письмо автору
 
   для: cheops   (17.05.2005 в 13:55)
 

Можно вот так еще

<script language=JavaScript>
r1=(screen.width+'*'+screen.height+'&nbsp;')
document.write(r1)
</script>

или вот так

<script language="JavaScript">
<!-- 
var height=0;var width=0;
if (self.screen) {
// for NN4 and IE4
width = screen.width
height = screen.height
}
if (width<641 && height<481)

document.writeln('<STYLE TYPE="text/css">' + ' #test {background-color: red; clip: rect(0px 300px 200px 0px)'; 

HEIGHT: 200px; LEFT: 0px; POSITION: absolute; TOP: -200px;
WIDTH: 300px; layer-background-color: red;

</STYLE>')
else
{
if (width>1023 && height>767) 
{
document.writeln('<STYLE TYPE="text/css">\n'+ 
'#test {BACKGROUND-COLOR: red; CLIP: rect(0px 510px 200px 0px); 
HEIGHT: 200px; LEFT: 0px; POSITION: absolute; TOP: -200px; 
WIDTH: 510px; layer-background-color: red}\n'+
'</STYLE>')
}
else
{
document.writeln('<STYLE TYPE="text/css">\n'+ 
'#test {BACKGROUND-COLOR: red; CLIP: rect(0px 400px 200px 0px); 
HEIGHT: 200px; LEFT: 0px; POSITION: absolute; TOP: -200px; 
WIDTH: 400px; layer-background-color: red}\n'+
'</STYLE>')
}
}
//--> 
</script>

или например

<html>
<head>
    <script language="JavaScript" type="text/javascript">
    function change_style() 
    {
        if(screen.width==800) { 
            document.body.style.fontSize="30px"
        } if(screen.width==1024) { 
            document.body.style.fontSize="50px"
        }
        if(screen.width==640) { 
            document.body.style.fontSize="10px"
        }
    }
    </script>
</head>
<body onload="change_style();">
тело скрипта
</body>
</html>

   
 
 автор: cheops   (17.05.2005 в 13:55)   письмо автору
 
   для: Ivan   (17.05.2005 в 13:25)
 

Это осуществляется при помощи JavaScript. Пусть имеется index.html
<Script Language="JavaScript"> 
var height=0; 
var width=0; 
colorDepth = screen.colorDepth; 
if (self.screen) 

  width = screen.width 
  height = screen.height 

else if (self.java) 

  var jToolKit = java.awt.Toolkit.getDefaultToolkit(); 
  var scrsize = jToolKit.getScreenSize(); 
  width = scrsize.width; 
  height = scrsize.height; 

if (width > 0 && height > 0) 

  // Производим перенаправление на скрипт counter.php, передавая в 
  // переменной scrsize строку, содержащую значения width, 
  // height и colorDepth. 
  window.location.href = "http://localhost/view.php?
                          width=" + width +
                         "&height=" + height +
                         "&color=" + colorDepth;
} else exit(); 
</Script>

Тогда в view.php можно определить разрешение
<?php
echo "Ширина : ".$_GET['width'];
echo 
"Высота : ".$_GET['height'];
echo 
"Цветовое разрешение : ".$_GET['color'];
?>

   
 
 автор: Gwest   (17.05.2005 в 13:50)   письмо автору
 
   для: Ivan   (17.05.2005 в 13:25)
 

Спросить об этом пользователя =)
Не думаю что это возможно (покрайней мере в php).

   
 
 автор: Ivan   (17.05.2005 в 13:25)   письмо автору
 
 

Как проще всего это сделать, дабы в дальнейшем использовать для компоновки страницы сайта?

   

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования