|
|
|
| А можно ли как-нибудь узнать разрешение экрана клиента, чтобы расположение данных подогнать? | |
|
|
|
|
|
|
|
для: Odin Kg
(21.09.2004 в 12:26)
| | Средствами PHP это сделать нельзя, так как он исполняется на сервере и ничего о клиенте знать не может, но эту задачу можно решить при помощи 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)
{
// Производим перенаправление на скрипт view.php
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'];
?>
|
Пример, конечно, нужно заточить под собственные цели... Это не слишком элегантное решение, так как каждый раз придётся осуществлять редирект средствами JavaScript, например, мы отказались от сбора статистики разрешений в наших счётчиках, тем более процентное соотношение разрешений в рунете общедоступно... | |
|
|
|
|
|
|
|
для: cheops
(21.09.2004 в 12:54)
| | А что такое self.screen | |
|
|
|
|
|
|
|
для: sancho
(30.11.2004 в 10:05)
| | self – это синосим текущего окна (объект window)
screen - объект, содержащий свойства экрана (размер и кол-во цветов)
Здесь self.screen – это проверка доступен ли объект screen, чтобы узнать из его свойств размер экрана.
Если не доступен, то далее проверяется не включена ли Java у посетителя
Если включена, размер экрана берется с помощью Java | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(30.11.2004 в 12:30)
| | cheops говорит:"Дизайнер, как-то делает так что-бы его дизайн сам подстраивался под разрешение клиента..." , так вот я делаю вот так
<script language="JavaScript" type="text/javascript">
function change_style()
{
if(screen.width==800)
{
document.body.style.fontSize="10px"
}
if(screen.width==1024)
{
document.body.style.fontSize="50px"
}
}
</script>
|
но ничего не происходит, даже ошибки не выдаёт, в чем дело? | |
|
|
|
|
|
|
|
для: sancho
(01.12.2004 в 16:35)
| | Вам нужно вызывать эту функцию на выполнение.
Это можно сделать по событию onLoad в теге <body>
<body onload="change_style()">
|
А это полный код.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<script language="JavaScript">
function change_style()
{
if(screen.width==800)
{
//document.body.style.fontSize="10px"
}
if(screen.width==1024)
{
document.body.style.fontSize='50px'
}
}
</script>
</head>
<body onload="change_style()">
текст
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(01.12.2004 в 22:39)
| | Согласен, так работает, а если в теле вставить, например:
<body onload="change_style();">
<div id="div_top">
<table border=1 cellspacing='0' style='table-layout:fixed'\n>
<tr>
<td>qqqqqqqq</td>
<td>zzzzzzzz</td>
</tr>
</table>
</div>
</body>
|
то не реагирует ни как, вообще? | |
|
|
|
|
|
|
|
для: cheops
(21.09.2004 в 12:54)
| | а как значение ширины и высоты передать в html? | |
|
|
|
|
|
|
|
для: Odin Kg
(21.09.2004 в 12:26)
| | Дизайнер, как-то делает так что-бы его дизайн сам подстраивался под разрешение клиента, правда на сколько я понимаю, работа не для слабонервных... | |
|
|
|
|
|
|
|
для: cheops
(21.09.2004 в 13:06)
| | да,точно говорит cheops все размеры окна и вообще управление видом браузера это работа JavaScript... | |
|
|
|
|
|
|
|
для: LimP
(21.09.2004 в 20:27)
| | вот можешь вот так создать (это если будешь создавать окно с этими параметрами)
<HTML>
<HEAD>
<TITLE>Окна,определяемые пользователем</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function opnewWin(s)
{
winank = window.open("lkr.htm",s,"resizable=1,directories=1")
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<h4>Вывод на экран диалоговых окон,определенных пользователем </h4>
<form name="form1">
<input type=button value="Открыть задание" OnClick="opnewWin('mywin')">
<input type=button value="Закрыть задание" OnClick="winank.close()">
</form>
</BODY>
</HTML>
|
вот, примерно вот так можешь попробовать,тока замени вот тут
winank = window.open("lkr.htm",s,"resizable=1,directories=1")
на свой файл... | |
|
|
|