Php ширина окна браузера
Мне нужно найти разрешение экрана экрана пользователей, которые посещают мой сайт?
вы не можете сделать это с чистым PHP. Вы должны сделать это с помощью JavaScript. О том, как это сделать, написано несколько статей.
по сути, вы можете установить cookie или даже сделать Ajax для отправки информации в php-скрипт. Если вы используете jQuery, вы можете сделать это примерно так:
jquery:
PHP (some_script.в PHP)
все это действительно основное, но это должно привести вас куда-то. Обычно разрешение экрана не то, что вы действительно хотите. Возможно, вас больше интересует размер порта просмотра фактического браузера, поскольку именно там отображается страница.
непосредственно с PHP невозможно, но.
Я пишу этот простой код для сохранения разрешения экрана в сеансе PHP для использования в галерее изображений.
это выведет заголовок меньшего размера, если экран 480px или меньше. Поэтому нет необходимости передавать любые vars с помощью JS или аналогичного.
вы можете попробовать RESS (адаптивный дизайн + серверные компоненты), см. Этот учебник:
Я не думаю, что вы можете определить размер экрана исключительно с помощью PHP, но вы можете обнаружить user-agent..
вот ссылка на более подробный скрипт: PHP Mobile Detect
единственный способ-использовать javascript, а затем получить javascript для публикации на вашем php (если вам действительно нужна серверная сторона res). Однако это полностью упадет на его лицо, если они отключат javascript.
- Javascript: проверьте, есть ли высота и ширина печенье набор
- Javascript: если установлен, проверьте, если экран.высота и экрана.ширина (или что вы хотите) соответствует текущему значению cookie
- Javascript: если cookie не установлен или не соответствует текущему значению, то: a. Javascript: создайте постоянный или сеансовый cookie с именем (например) 'shw' для значения текущего экрана.высота и экрана.ширина.
b. Javascript: перенаправление на SELF с помощью окна.местоположение.перезаряжать.)( Когда он перезагружается, он пропустит Шаг 3. - в PHP: $_COOKIE ['shw'] содержит значения.
- продолжить работу с PHP
например, Я использую некоторые общие функции cookie, найденные в интернете. Убедитесь, что setCookie возвращает правильные значения. Я поместите этот код сразу после тега head. Очевидно, что функция должна быть в исходном файле.
самый простой способ сделать это:
в PHP нет стандартного способа получить эту информацию. Однако это возможно, если вы используете стороннее решение. Детектор устройств 51Degrees для PHP имеет необходимые свойства:
дает вам ширину и высоту экрана пользователя в пикселях. Чтобы использовать эти свойства, необходимо загрузить детектор из sourceforge. Затем вам нужно включить следующие 2 строки в файл / файлы, где необходимо определить высоту и ширину экрана:
где path/to / core-путь к каталогу "Core", который вы загрузили из sourceforge. Наконец, чтобы использовать свойства:
имейте в виду, что эти переменные могут содержать "неизвестное" значение несколько раз, когда устройство не может быть идентифицирован.
решение: сделайте масштабируемый веб-дизайн . (наш я должен сказать правильный веб-дизайн) формирование должно быть сделано на стороне клиента, и я хотел бы, чтобы информация была передана на сервер, но информация по-прежнему полезна ( сколько объектов на строки типа сделки), но все же веб-дизайн должен быть текучим, таким образом, каждый элемент строки не должен быть помещен в таблицы, если его фактическая таблица ( и данные будут масштабироваться до отдельных ячеек) если вы используете div, вы можете окно должно "разбить" ряд в нужном месте. (просто нужен правильный css)
Добрый день, помогите пожалуйста
у меня задача, узнать у клиента/посетителя ширину браузера, если она меньше или равна 1024 то нужно вернуть TRUE
Т.е. php код со встроенным javascript
Пытался гуглить, нагуглил
PHP плохо знаю, но как понимаю нужно просто прочитать ширину, потом по условию = else false
Что то вроде того
В настоящее время требуется уменьшать размер контента для тех же мобильных устройств.
Например:
На странице слайдер с изображением размерами 1920x500 пикс. в формате *.jpg весом в 40-50 Кбайт., 3 штуки – 150 Кб.
Представляете сколько можно сэкономить времени на загрузку страницы отдавая клиенту значительно меньшие по размеру изображения зная размер экрана клиента.
Вам это для чего?
если для дизайна, почитайте в сторону адаптивной верстки и CSSqueries
если для работы, то такое предложение, но оно плохое:
1. загружается php файл.
2. в самом начале проверяете куки.
2.1. если куки найдены, то в куках написано ваше разрешение экрана
2.2. если куки не найдены, то
2.2.1 перебрасываете пользователя на отдельную страницу, на которой яваскриптом определяется разрешение. это разрешение записывается в куку яваскриптом (читай $.cookie) и снова пользователя перебрасываем назад.
Хорошо, допустим я гуру в media css, и я знаю как сделать сайт адаптивным. С точки зрения логики, я хотел бы некоторые элементы для телефона не "дисплэйнойнить", прости господи, а чтобы их вообще не было, даже в коде, даже в комментариях кода, вообще нигде. Во-первых, чтобы не грузить телефон лишним контентом, чтобы быстрее грузился, и ещё, к примеру есть скрипт, который при загрузке картинки на сайт, делает ресайз на 5 размеров, от оригенала до суперлёгкого превью, так вот, с точки зрения безопасности:
код по типу
$(function() adjustStyle($(this).width());
$(window).resize(function() adjustStyle($(this).width());
>);
>);
Но такой фокус у меня не сработал с php файлами. Подскажите правильно решение моей задачи: "4 вида вёрстки - загружать нужную в зависимости от размера окна браузера"
Ели хотите подгружать совершенную другую разметку страницы, то может помочь mobiledetect.
Но он не скажет какое разрешение у пользователя. Он только даст указание на тип устройства с которого просматривают сайт.
Если не вдумываться в то, что же вам именно нужно от PHP файлов, то - AJAX для запросов к серверу из JS
Я думаю проблема именно в постановке вопроса. Задача изначально неправильная. Не представляю как потом вносить изменения в логику разных файлов.
Я думаю ваша задача должна сводиться к выполнению ajax запросов с передачей параметров разрешения. А уже в одном файле вести обработку.
А в идеале это вообще от php получать только нужные данные, а всё зависимую от разрешения часть выносить в javascript.
Что бы в CSS не использовать настройки типа display:none хотел пойти от обратного. Определять разрешение окна браузера --> Подключать шаблон Joomla с соответствующей версткой --> в каждом шаблоне будут свои модули со своими CSS настройками.
И проблема заключается в том, что первый файл загружаемый в Joomla - Это index.php
Именно в нём должно определяться (согласен, можно и через js) разрешение окна браузера и загружать соответствующий шаблон дальше, например layouts/tpl-mobile.php
И ещё. В программирование я не силён! Я дизайнер + верстальщик
1. Загрузка Вашего скрипта с передачей POST-AJAX-данных о разрешении на сервер.
2. Выбор нужного шаблона (PHP-код) на стороне сервера и отдача данных в этот AJAX-обработчик.
3. Подмена содержания html "на-лету" на нужный шаблон через ответ от AJAX.
Мне нужно определить разрешение экрана пользователя, который посещает мой веб-сайт. Как это сделать?
Ответ 1
Вы не можете этого сделать с чистым PHP. Вы должны сделать это с помощью JavaScript. О том, как это сделать, написано множество статей.
По сути, вы можете установить cookie или даже использовать Ajax для отправки информации в PHP-скрипт. Если вы используете jQuery, вы можете сделать это примерно так:
jquery:
$(function()
$.post('some_script.php', < width: screen.width, height:screen.height >, function(json)
if(json.outcome == 'success')
// Возможн о чт о-либо сделать с этими значениями?
> else
alert('Невозможно определить в PHP разрешение экрана!');
>
>,'json');
>);
PHP (some_script.php)
// Например, вы можете сделать что-то вроде этого:
if(isset($_POST['width']) && isset($_POST['height']))
$_SESSION['screen_width'] = $_POST['width'];
$_SESSION['screen_height'] = $_POST['height'];
echo json_encode(array('outcome'=>'success'));
> else
echo json_encode(array('outcome'=>'error','error'=>"Couldn't save dimension info"));
>
?>
Это действующий базовый код. Однако обычно разрешение экрана - это не то, что вам нужно. Возможно, вас больше интересует размер фактического окна просмотра браузера, поскольку именно там отображается страница .
Ответ 2
Ответ 3
Ответ 4
Ответ 5
Ответ 6
Полностью рабочий пример
Мне не удалось найти реальный рабочий пример PHP для (без параметров URL) возврата размера экрана клиента и других свойств на серверный PHP, поэтому я собрал этот пример.
JS заполняет и отправляет скрытую форму (написанную на PHP из массива свойств JS), POST передает ее самому себе (данные теперь доступны в PHP) и возвращает данные в виде таблицы.
(Проверено на нескольких браузерах.)
table,trtd
$clientProps=array('screen.width','screen.height','window.innerWidth','window.innerHeight',
'window.outerWidth','window.outerHeight','screen.colorDepth','screen.pixelDepth');
if(! isset($_POST['screenheight']))
echo "Loading. ";
foreach($clientProps as $p) < // создание скрытой формы
echo "";
>
echo " ";
echo "";
> else
echo "
".ucwords(str_replace('.',' ',$p)).": | ".$_POST[str_replace('.','',$p)]." |
>
?>
window.history.replaceState(null,null); // избежать предупреждения формы, если пользователь нажимает кнопку обновить
Возвращенные данные extract преобразованы в переменные. Например:
window.innerWidth возвращается в $windowinnerWidth
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
как я могу получить windowWidth , windowHeight , pageWidth , pageHeight , screenWidth , screenHeight , pageX , pageY , screenX , screenY которая будет работать во всех основных браузерах?
Если вы используете jQuery, вы можете получить размер окна или документа с помощью методов jQuery:
для размера экрана вы можете использовать
Это все, что нужно знать:
вот кросс-браузерное решение с pure JavaScript (источник):
не-jQuery способ получить доступный размер экрана. window.screen.width/height уже был выставлен, но для отзывчивого веб-дизайна и полноты я думаю, что стоит упомянуть эти атрибуты:
availWidth и availHeight - доступные ширина и высота на экран (исключая панели задач ОС и тому подобное).
дает правильное измерение. Даже он удаляет дополнительное пространство полосы прокрутки, и нам не нужно беспокоиться о регулировке этого пространства:)
вы также можете получить ширину и высоту окна, избегая панелей инструментов браузера и других вещей. Это реальная полезная область в окне браузера.
для этого использовать: window.innerWidth и window.innerHeight свойства (см. doc в w3schools).
в большинстве случаев это будет лучший способ, например, отобразить идеально центрированный плавающий модальный диалог. Это позволяет рассчитать позиции на окне, независимо от того, какое разрешение ориентации или размер окна использование браузера.
чтобы проверить высоту и ширину вашей текущей загруженной страницы любого веб-сайта, используя "консоль" или после нажатия "проверить".
Шаг 1: нажмите правую кнопку мыши и нажмите "Проверить", а затем нажмите "консоль"
Шаг 2: убедитесь, что ваш экран браузера не должен быть в режиме "максимизировать". Если экран браузера находится в режиме "развернуть", вам нужно сначала нажать кнопку развернуть (присутствует либо в правый или левый верхний угол) и увеличить его.
Шаг 3: теперь напишите следующее после знака больше, чем ( ' > ' ), т. е.
Если вам нужно поистине пуленепробиваемое решение для ширины и высоты документа ( pageWidth и pageHeight на картинке), вы можете рассмотреть возможность использования моего плагина,С помощью jQuery.documentSize.
он имеет только одну цель: всегда возвращать правильный размер документа, даже в сценариях, когда jQuery и другие методы не. Несмотря на свое название, вам не обязательно использовать jQuery – он написан на ванильном Javascript и строительство без jQuery тоже.
мировой document . Для других документов, например, во встроенном iframe, к которому у вас есть доступ, передайте документ как параметр:
Update: теперь для размеров окна тоже
никогда, начиная с версии 1.1.0, с помощью jQuery.documentSize также обрабатывает размеры окон.
это необходимо, потому что
- $( window ).height() is багги в iOS, до такой степени, что бесполезно
- $( window ).width() и $( window ).height() are ненадежный на мобильный потому что они не обрабатывают эффекты мобильного масштабирования.
С помощью jQuery.documentSize обеспечивает $.windowWidth() и $.windowHeight() , которые решают эти вопросы. Для получения дополнительной информации, пожалуйста, проверьте документация.
Я написал небольшой букмарклет javascript, который вы можете использовать для отображения размера. Вы можете легко добавить его в свой браузер, и всякий раз, когда вы нажмете на него, вы увидите размер в правом углу окна браузера.
закладка
Исходный Код
исходный код находится в кофе:
в основном код добавления небольшой div, который обновляется при изменении размера окна.
который представляет фактический размер оболочки.
иногда вам нужно видеть изменения ширины / высоты при изменении размера окна и внутреннего содержимого.
для этого я написал небольшой скрипт, который добавляет окно журнала, которое динамично отслеживает все изменения размера и почти немедленно обновляет.
Он добавляет допустимый HTML с фиксированной позицией и высоким Z-индексом, но достаточно мал, поэтому вы можете:
- на фактический сайт
- использовать его для тестирование мобильные/отзывчивый вид
протестировано на: Chrome 40, IE11, но очень возможно работать и на других/старых браузерах . :)
EDIT: теперь стили применяются только к элементу таблицы logger-не ко всем таблицам-также это в jQuery-бесплатно решение :)
ниже приведен пример того, что он вернется:
у вас screenWidth переменной, просто использовать screen.width С screenHeight , вы просто используете screen.height .
чтобы получить ширину и высоту окна, это будет screen.availWidth или screen.availHeight соответственно.
на pageX и pageY переменные, использовать window.screenX or Y . Обратите внимание, что это СЛЕВА/СВЕРХУ Вашего левого/верхнего экрана. Итак, если у вас есть два экрана width 1920 тогда окно 500px слева от правого экрана будет иметь значение X 2420 (1920+500). screen.width/height , однако, отображать ширину или высоту текущего экрана.
чтобы получить ширину и высоту вашей страницы, Используйте jQuery $(window).height() или $(window).width() .
снова используя jQuery, используйте $("html").offset().top и $("html").offset().left для pageX и pageY значения.
теперь мы можем безопасно использовать только собственный javascript window api во всех браузерах, без контекста окна.
синтаксис немного понятно!
чтобы получить точные результаты в каждом браузере и устройстве, результаты должны быть умножены на devicePixelRatio.
вот мое решение. Сначала идет какой-то объект утилиты для работы с cookie
Читайте также: