[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Передать на сервер размеры экрана пользователя
Владимир55
Необходимо передать на сервер ширину и высоту экрана браузера пользователя, просматривающего данную страницу. Нюанс в том, что сделать это надо при первом обращении к сайту.

В сети рекомендации использовать для определения размеров JS, а результат передать на сервер через AJAX. Однако, это всего лишь общие рекомендации, а конкретного кода я не обнаружил (и сам написать не сумею).

Может быть, Вы уже решали эту проблему и располагаете рабочим кодом?
Или знаете статью, где это подробно описано (на русском)?
inpost
Давай начнём по порядку. Итак, мы знаем, что надо получить данные экрана при помощи JS. Эта функция для получения ширины экрана клиента простая, в одну строчку. Напиши её тут smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
TMake
Зачем тебе такие махинации?
Возможно тебе поможет использование bootstrap
Если все же тебе это не подходит, то покажи что ты сделал и где затык?
П.С ajax
Игорь_Vasinsky


твоя задача состоит из нескольких - такого кода в полном виде ты не найдёшь скорее всего

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Владимир55
Цитата (inpost @ 12.11.2013 - 11:49)
надо получить данные экрана при помощи JS. Эта функция для получения ширины экрана клиента простая, в одну строчку. Напиши её тут :)

Делал так:
<script Language="JavaScript">document.write(screen.width)</script>
<font
color='blue'>x</font>
<script
Language="JavaScript">document.write(screen.height)</script>


И так:

<script Language="JavaScript">
function
setCooc (){
document.cookie = "ek_x=" + screen.availWidth;
document.cookie = "ek_y=" + screen.availHeight;
}

var ScrnOnload = window.onload;
window.onload = function () { if(ScrnOnload) ScrnOnload(); setCooc();
}
</script>

В последнем случае нормально пишет в куки, но, как я уже сказал, это можно увидеть только со второго захода. А нужно сразу (второго захода не будет).
Игорь_Vasinsky
а если после записи - сразу сделать редирект на самого себя?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Владимир55
На крайний случай тоже можно, но хотелось бы технологичнее, через АЯКС.

К примеру, как-то так:
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script
type="text/javascript" >
$(function(){


var h=$(window).height(); //заносим высоту окна браузера в переменную
var w=$(window).width(); //заносим ширину окна браузера в переменную

$.post( // краткий ajax запрос - post-запрос
'701.php', // страница обработчика отправленных данных
{h1:h,w1:w}, // с индексом '1' - это переменные php, без индекса - переменные js
function (data){
$('#info').text("Ширина х высота : "+data);
}

);

});</script>


Но здесь у меня получаются размеры окна, а нужны размеры экрана.

Как поправить?
inpost
А разница какая?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Владимир55
Значения получаются существенно разные, поскольку окно всегда меньше экрана.

Ну, в общем, с этим я тоже справился, так что вцелом задача решена. Спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.