Перейти к содержимому



Вывод рекламы в зависимости от разрешения экрана в адаптивном дизайне

#1 Sosnovskij

Sosnovskij
  • Администратор
  • 3 886 сообщений
  • Репутация: 566
0

Отправлено 13 Август 2015 - 16:00

Есть ли какой-нибудь вариант вывода рекламных блоков в зависимости от разрешения экрана пользователя? Например, пользователь зашел с ПК с таким-то разрешение, ему выдается такой-то вариант дизайна + такие-то рекламные блоки. Он зашел с планшета, вариант дизайна немного меняется, меняются и рекламные блоки.


 

 

  • 0

Не стесняйтесь ставить оценки темам :) Правила форума. Мой блог http://sosnovskij.ru/.



#2 Ixman

Ixman
  • Пользователь PRO
  • 2 159 сообщений
  • Репутация: 432

Отправлено 13 Август 2015 - 18:38

Ну с дизайном всё намного проще, можно использовать только CSS, а вот с рекламными блоками сложнее. Разрешение экрана, насколько мне известно, можно определять только javascript, то есть на стороне клиента. Соответственно, узнав размеры экрана, делать ajax запрос и подгружать рекламный блок с нужными параметрами. Но это уже после загрузки страницы. Как-то так.


  • 1

#3 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 14 Август 2015 - 00:01

Есть ли какой-нибудь вариант вывода рекламных блоков в зависимости от разрешения экрана пользователя?

 

Этот вариант называется медиа запросы (CSS media queries). Работают они почти во всех современных браузерах, за исключением Internet Explorer 8 и его более ранних версий. Недавно отвечал на похожий вопрос: http://www.masterweb...t-kod/?p=135369

 

Возможен еще такой вариант: перед показом страницы сначала получить разрешение экрана пользователя через js, и вывести страницу уже с подключенным дизайном из подходящего файла:

<?php
if (isset($_GET['width'])) {
  if ($_GET['width'] > 1024){
  include 'wide.php'; //если ширина экрана больше 1024 подключаем wide.php
} else include 'narrow.php'; //если ширина экрана меньше – подключаем narrow.php


} else {
  // добавляем в оригинальную строку запроса ширину экрана и перезагружаем страницу
  $qs = '';
  if ($_SERVER['QUERY_STRING']!='') $qs = $_SERVER['QUERY_STRING'].'&';
  echo '<script language="javascript">';
  echo "location.href=\"${_SERVER['SCRIPT_NAME']}?", $qs, 'width=" + screen.width;';
  echo '</script>';
  exit();
}
?>

Ну или, как было выше сказано, сделать примерно то же самое через аякс.


Сообщение отредактировал yury: 14 Август 2015 - 00:02

  • 2


Оформление форума – IPBSkins.ru