KGB

Рейтинг
164
Регистрация
10.08.2006
xtras:
все для людей,

По поводу для людей.

Написал сообщение клубе рся , с пожеланием вернуть в настройки блока лимит объявлений. Поддержите https://yandex.ru/blog/partner/spasibo-za-obratnuyu-svyaz/584482d010fc2000215228f9

Чем такие настройки полезны. Помимо того, что можно использовать один код на разных страницах, можно создавать адаптивность.

Например у меня был (пока еще есть) блок постер горизонтальный, в котором в зависимости от ширины показывалось от 4х до одного объявления.

Делалось это просто изменением переменной yandex_direct_limit.


var mw=document.getElementsByTagName("body")[0].offsetWidth;
f (mw>=1400) {yandex_direct_limit = 4;}
if (mw<=1399) {yandex_direct_limit = 3;}
if (mw<=1150) {yandex_direct_limit = 2;}
if (mw<=500) {yandex_direct_limit = 1;}

Теперь же, что бы добиться такого же придется создавать 4 блока.

astrologvs:
В МММ люди попадали на большой бабос

А я вот лично знаю людей, которые там же подняли нехилый бабос.

Сергей_К:
Спасибо за вариант кода

Да это как бы не мой код, он стандартный и выполняет теже функции, что гуляющий в соседней теме и выложенный выше Bosca

Просто, повторюсь, я не понимаю, какой смысл в данной ситуации использовать matchMedia, котрый

Сергей_К:
matchMedia или еще что-то замеряет размер экрана и отсылает переменную куда надо

если прекрасно работают более "древние" и более "стандартные". Есть еще много вариантов, например на jquery подгружать нужный код РТБ или другие. Только зачем усложнять?.

Плюс еще. Работать с известными со школьной скамьи знаками , ">" , "=", "<" просто нагляднее, чем с "max-width: ХХХpx". Ведь в последнем случае надо постоянно держать в уме, что "max-width" на самом деле означает что ширина окна браузера должна быть меньше ХХХ px. А "min-width" наоборот, больше))))))

Сергей_К:
конечный результа

Конечный результат еще зависит от настроек РТБ, увы.

Bosca:
Решение не мое,
Bosca:
window.matchMedia

Я не понимаю зачем использовать matchMedia, какой смысл? , тем более вроде опера мини его не понимает.

Используйте, только цифры свои ставьте и свои переменные.



<div id="rtbBlock"></div>

<script type="text/javascript">

var bvw=document.getElementsByTagName("body")[0].offsetWidth;

if ( bvw >= 1200 ){ rtbBlockID = "R-A-XXXX-1"; document.getElementById("rtbBlock").style.maxWidth = "850px";}

if ( bvw <= 1200 && bvw >= 980 ){ rtbBlockID = "R-A-XXXX-2"; document.getElementById("rtbBlock").style.maxWidth = "1200px"; }

if ( bvw <= 979 && bvw >= 730 ){rtbBlockID = "R-A-XXXX-3"; document.getElementById("rtbBlock").style.maxWidth = "980px"; }

if ( bvw <= 729 ){rtbBlockID = "R-A-XXXX-4"; document.getElementById("rtbBlock").style.maxWidth = "728px"; }

(function(w, d, n, s, t) {
w[n] = w[n] || [];
w[n].push(function() {
Ya.Context.AdvManager.render({
blockId: rtbBlockID,
renderTo: "rtbBlock",
async: true
});
});
t = d.getElementsByTagName("script")[0];
s = d.createElement("script");
s.type = "text/javascript";
s.src = "//an.yandex.ru/system/context.js";
s.async = true;
t.parentNode.insertBefore(s, t);
})(this, this.document, "yandexContextAsyncCallbacks");

</script>

Поясняю.

Вместо предлагаемых яндексом <div id="yandex_rtb_XXXXX-X"></div> задаем свой идентификатор <div id="rtbBlock"></div> . Имя "rtbBlock" может быть любым, главное, чтобы в коде renderTo: было именно в это имя.

в переменную var bvw = записываем ширину body

Далее сравниваем эту ширину и в зависимости от значения подгружаем в blockId идентификатор нужного вам блока. Не обязательно там делать 4 проверки и подгружать четыре варианта, кому достаточно и двух, а кому и 6 потребуется.

Ну а document.getElementById("rtbFooter").style.maxWidth = "XXXpx"; это в принципе можно и не использовать, просто добавляет style="max-width:XXXpx" к вашему контейнеру

superslon:
тут выложили пост про работу с RTB-блоками

Одна вода ни о чем.

GASPARD:
По мне так по медийке туда лучше фиксы 300x250

На смартфоне да, согласен, а на планшете, скажем 800 на 600 px? И не обязательно высотой 90 px. Блоки директа могли бы быть и 600 на 300px, а медийка подбираться в зависимости от максимальных размеров контейнера.

GASPARD:
выровненные по центру...

С центровкой тоже кстати через задницу, например, если задан резиновый блок и нефиксированном контейнере начинает показываться фиксированный блок

GASPARD:
Хз, вроде там все просто. Добавляешь свой класс

Просто?

Хорошо, вполне стандартная и часто встречающаяся ситуация. На десктопе у нас сайдбар, на планшете и смарте сайдбар "уходит" вниз.

Мы хотим, что бы в сайдбаре на десктопе у нас показывались квадратные или вертикальные блоки (включая и медийку, скажем 300х300, 300х600), а на планшете, когда "сайдбар" ушел вниз - горизонтальные.

И как это сделать? Не подгружая разные блоки скриптом, а с помощью т.н. "адаптивности" РСЯ?

Или. Ладно, делаем только горизонтальный адаптивный блок. Медийка нам при этом на выбор предлагает почти любые форматы, включая квадратные (нет только явных вертикальных). Берем только 100% на 90 и 100% на 120, которые нам подходят? оставим на всякий случай в строне вяские фиксированные, хотя выбор есть и по идее они должны бы показываться в зависимости от настроек адаптивности.

Вроде все нормально, блоки подбираются по ширине.

Но угадайте с одного раза, какой высоты будет ифрейм контейнер у блока? Правильно, 120 px. А нахрена нам блок высотой 90 px крутить вконтейнере в 120 px?

eastfish:
то все на практике

На практике адаптивность РСЯ (РТБ) блоков работает через ж.... Впрочем как и все у яндекса

ivaha:
По своим сайтам как раз наблюдаю тенденцию роста цены за клик на давно подгнивающих проектах и срезах наряду с падением на ключевых

Судя по ряду сообщений как здесь, так и на других ресурсах, данная тенденция не только у Вас. У меня тоже, на слабых площадках доход увеличился, на крупных и дающих основной доход - уменьшился.

Всего: 1857