Как выяснить разрешение и цветность экрана на компьютере клиента?
Проблема
Мне нужно динамически изменять страницу в зависимости от параметров экрана
клиентского компьютера. Как получить эти параметры?
Решение
Использовать объект screen, свойства которого (табл. 3.1) представляют доступ
к параметрам видеоподсистемы клиентского компьютера.
Таблица 3.1. Свойства объекта screen
Свойство |
Описание |
availHeight |
Возвращает высоту полезной области экрана без панели задач и прочих
панелей |
availWidth |
Возвращает ширину полезной области экрана без панели задач и прочих
панелей |
соlorDepth |
Возвращает цветность. Для 16 цветов возвращается значение 2, для 256 —
8, для 16,7 миллионов цветов (режим HiColor) — 32 |
height |
[ Возвращает полную высоту экрана |
width |
Возвращает полную ширину экрана |
Народ советует
Лучше использовать для выяснения разрешения экрана свойства avaiiwidth и
availHeight, а не width и height. Последние два свойства не учитывают, что
системная панель задач у пользователя может быть настроена так, чтобы
присутствовать на экране постоянно, в результате полезная площадь экрана
уменьшится.
Народ предупреждает!
Web-обозреватель Opera здесь отличился— в нем свойства screenLeft и screenTop
возвращают координаты окна относительно экрана, а позиционируется окно
относительно главного окна программы. Поэтому придется от значения
горизонтальной координаты отнять 10 (толщина рамок главного окна), а от значения
координаты вертикальной — 90 пикселов (рамка главного окна плюс его заголовок со
строкой меню и панелями инструментов). Эти значения выяснены автором книги
экспериментально.
Пример
Вот небольшая Web-страничка, выдающая разрешение экрана клиентского
компьютера и его цветность,
<HTML> <HEAD>
<TITLE>Разрешение экрана</TITLE> </HEAD> <BODY>
<SCRIPT TYPE="text/javascript">
document.write("<P>Разрешение экрана вашего компьютера - "
+screen.width.toString() + "x" + screen.height.toString() +".</P>");
document.write("<P>B том числе, полезное - "
+fescreen.avaiiwidth.toString() + "x" +screen.availHeight.toString() +
".</P>");
document.write("<Р>Цветность - " + screen.colorDepth.toString() +"
бит.</Р>"); </SCRIPT> </BODY> </HTML>
|