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

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

Всем привет.

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


<?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
756
#1

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

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

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

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

Skom
На сайте с 02.12.2006
Offline
166
#3

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

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

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

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

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
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
Offline
1722
#6

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

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

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

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

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

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

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

Samail
На сайте с 10.05.2007
Offline
361
#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

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