Получить ширину экрана

12
S
На сайте с 09.07.2013
Offline
63
1062

Всем привет.

Необходимо получить ширину экрана пользователя и в зависимости от этого вести разные данные:


<?php
$screenWidth='<script type="text/javascript"> document.write(screen.width)</script>';
if ($screenWidth > 800) {
echo "AAAAAA";
} else {
echo "BBBBBB";
}
?>

Постоянно выводит BBBBBB.

Есть предположения что, переменная $screenWidth не число.

Что не так с кодом?

Z0
На сайте с 03.09.2009
Offline
735
#1

У вас строка в $screenWidth, то есть в переменной записано не число, а:

<script type="text/javascript"> document.write(screen.width)</script>

Joker-jar
На сайте с 26.08.2010
Offline
123
#2

Чего в итоге вы хотите добиться? Для большинства задач годится css media запросы. В крайнем случае можно размеры занести в cookie посредством js.

Оказываю услуги веб-программиста и администратора Linux. ICQ: 751355 | Jabber: jokerjar@jabber.ru | Skype: joker-jar
Skom
На сайте с 02.12.2006
Offline
156
#3

Если задача состоит в получении разрешение экрана пользователя в момент исполнения скрипта, то сие невозможно в принципе.

По крайней мере, за один проход.

Cras amet qui numquam amavit quique amavit cras amet
LEOnidUKG
На сайте с 25.11.2006
Online
1591
#4
Что не так с кодом?

С кодом всё ок. С логикой и пониманием вещей всё плохо.

✅ Трастовых площадок под размещение статей и ссылок. Опыт 12 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )
S
На сайте с 09.07.2013
Offline
63
#5

Вопрос решил:


<?php
$aaa = '100';
$screenWidth='<script type="text/javascript"> document.write(window.screen.width) </script>';

if ($screenWidth > $aaa) {
echo "AAAAAA";
} else {
echo "BBBB";
}

?>

Добавил переменную $aaa

LEOnidUKG
На сайте с 25.11.2006
Online
1591
#6

Какой вопрос?!

Вы вообще понимаете, что у вас в переменной "$screenWidth" просто текст :D

S
На сайте с 09.07.2013
Offline
63
#7
LEOnidUKG:
Какой вопрос?!

Вы вообще понимаете, что у вас в переменной "$screenWidth" просто текст :D

а как перевести ее в цифры?

Z0
На сайте с 03.09.2009
Offline
735
#8
sstixx:
а как перевести ее в цифры?

Никак, у вас в переменной такой текст: <script type="text/javascript"> document.write(screen.width)</script>

Samail
На сайте с 10.05.2007
Offline
334
#9
sstixx:
Необходимо получить ширину экрана пользователя и в зависимости от этого вести разные данные:

<script> 

if (screen.width >= 800)
document.write('AAAAAA');
else
document.write('BBBBBB');
</script>
dimsog
На сайте с 08.08.2011
Offline
149
#10

Человеку нужно было просто получить ширину экрана пользователя, но вот Skom, Joker-jar лишь бы что написать. Это всё равно, если бы я спросил, как в WP прикрутить плагин, а мне бы писали что modx круче.

Один Samail правильно написал. Кстати, ТС, screen.width показывает размер экрана, а не размер окна браузера. Браузер же может быть не на весь экран открыт, особенно в macOS. Поэтому я рекомендовал бы использовать вот такой код:


<script>
if (window.innerWidth >= 800)
document.write('AAAAAA');
else
document.write('BBBBBB');
</script>
ihor vps -> ihc.ru
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий