Владимир55
12.11.2013 - 15:46
Необходимо передать на сервер ширину и высоту экрана браузера пользователя, просматривающего данную страницу. Нюанс в том, что сделать это надо при первом обращении к сайту.
В сети рекомендации использовать для определения размеров JS, а результат передать на сервер через AJAX. Однако, это всего лишь общие рекомендации, а конкретного кода я не обнаружил (и сам написать не сумею).
Может быть, Вы уже решали эту проблему и располагаете рабочим кодом?
Или знаете статью, где это подробно описано (на русском)?
inpost
12.11.2013 - 15:49
Давай начнём по порядку. Итак, мы знаем, что надо получить данные экрана при помощи JS. Эта функция для получения ширины экрана клиента простая, в одну строчку. Напиши её тут
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Зачем тебе такие махинации?
Возможно тебе поможет использование
bootstrapЕсли все же тебе это не подходит, то покажи что ты сделал и где затык?
П.С
ajax
Игорь_Vasinsky
12.11.2013 - 15:56
твоя задача состоит из нескольких - такого кода в полном виде ты не найдёшь скорее всего
_____________
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
12.11.2013 - 16:07
Цитата (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
12.11.2013 - 16:53
а если после записи - сразу сделать редирект на самого себя?
_____________
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
12.11.2013 - 17:04
На крайний случай тоже можно, но хотелось бы технологичнее, через АЯКС.
К примеру, как-то так:
<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(
'701.php',
{h1:h,w1:w},
function (data){
$('#info').text("Ширина х высота : "+data);
}
);
});</script>
Но здесь у меня получаются размеры окна, а нужны размеры экрана.
Как поправить?
inpost
12.11.2013 - 19:13
А разница какая?
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Владимир55
12.11.2013 - 19:17
Значения получаются существенно разные, поскольку окно всегда меньше экрана.
Ну, в общем, с этим я тоже справился, так что вцелом задача решена. Спасибо!
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.