🗊Кроссбраузерные решения в Рекламной сети Яндекса Юрий Беляков

Категория: Новости
Нажмите для полного просмотра!
Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №1Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №2Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №3Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №4Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №5Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №6Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №7Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №8Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №9Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №10Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №11Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №12Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №13Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №14Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №15Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №16Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №17Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №18Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №19Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №20Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №21Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №22Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №23Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №24Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №25Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №26Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №27Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №28Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №29Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №30Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №31Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №32Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №33Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №34Кроссбраузерные решения в Рекламной сети Яндекса  Юрий Беляков, слайд №35

Содержание

Вы можете ознакомиться и скачать Кроссбраузерные решения в Рекламной сети Яндекса Юрий Беляков. Презентация содержит 35 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Кроссбраузерные решения в Рекламной сети Яндекса
Юрий Беляков
Описание слайда:
Кроссбраузерные решения в Рекламной сети Яндекса Юрий Беляков

Слайд 2





Главная страница РСЯ
Описание слайда:
Главная страница РСЯ

Слайд 3





Требования к рекламному блоку
Код должен работать независимо от:
посещаемости сайта;
браузера посетителя;
верстки и дизайна сайта;
«кривизны рук» веб-мастера;
попыток умышленно (или случайно) повлиять на работу кода или внешний вид рекламного блока.
Описание слайда:
Требования к рекламному блоку Код должен работать независимо от: посещаемости сайта; браузера посетителя; верстки и дизайна сайта; «кривизны рук» веб-мастера; попыток умышленно (или случайно) повлиять на работу кода или внешний вид рекламного блока.

Слайд 4





Защита от конфликтов
Для того, чтобы снизить вероятность конфликтов мы используем:
префиксы;
специальный «ластик»;
инструкцию !important;
длинные селекторы;
случайные имена классов.
Описание слайда:
Защита от конфликтов Для того, чтобы снизить вероятность конфликтов мы используем: префиксы; специальный «ластик»; инструкцию !important; длинные селекторы; случайные имена классов.

Слайд 5





Нестандартная отрисовка иконок
Описание слайда:
Нестандартная отрисовка иконок

Слайд 6





Получение маски
Описание слайда:
Получение маски

Слайд 7





Представление маски
var aIconMask = [
    [0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0],
    [0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],
    [0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0],
    [0,0,0,0,0,1,1,1,0,1,0,1,0,0,0,0],
    [0,0,0,0,1,1,1,0,0,0,1,0,0,0,0,0],
    [0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0],
    [0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0],
    [0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0],
    [0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0],
    [0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0],
    [0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0]
];
Описание слайда:
Представление маски var aIconMask = [ [0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0], [0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0], [0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0], [0,0,0,0,0,1,1,1,0,1,0,1,0,0,0,0], [0,0,0,0,1,1,1,0,0,0,1,0,0,0,0,0], [0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0], [0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0], [0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0], [0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0], [0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0] ];

Слайд 8





Функция отрисовки иконки
var sIconCode = '';
for (var i = 0; i < aIconMask.length; i++) {
    var sIconRow = '';
    for (var j = 0; j < aIconMask[i].length; j++) {
        sIconRow += aIconMask[i][j] ? '<td />' : '<th />';
    }
    sIconCode += '<tr>' + sIconRow + '</tr>';
}
sIconCode = '<div class="icon"><table>' + sIconCode + '</table></div>';
document.write(sIconCode);
Описание слайда:
Функция отрисовки иконки var sIconCode = ''; for (var i = 0; i < aIconMask.length; i++) { var sIconRow = ''; for (var j = 0; j < aIconMask[i].length; j++) { sIconRow += aIconMask[i][j] ? '<td />' : '<th />'; } sIconCode += '<tr>' + sIconRow + '</tr>'; } sIconCode = '<div class="icon"><table>' + sIconCode + '</table></div>'; document.write(sIconCode);

Слайд 9





HTML-код и стили
<div class="icon">
    <table>
        <tr><td/>... <td/></tr>
        ...
    </table>
</div>


div.icon table {height: 16px; width: 16px;}
div.icon td, div.icon th {height: 1px; width: 1px;}
/* colors */
div.icon td {background-color: #eaedef;}
div.icon th {background-color: #000000;}
Описание слайда:
HTML-код и стили <div class="icon"> <table> <tr><td/>... <td/></tr> ... </table> </div> div.icon table {height: 16px; width: 16px;} div.icon td, div.icon th {height: 1px; width: 1px;} /* colors */ div.icon td {background-color: #eaedef;} div.icon th {background-color: #000000;}

Слайд 10





Пример цветового оформления
Описание слайда:
Пример цветового оформления

Слайд 11





Быстрый показ рекламы
Описание слайда:
Быстрый показ рекламы

Слайд 12





Структура сайта на фреймах
Описание слайда:
Структура сайта на фреймах

Слайд 13





Событие DOMContentLoaded
/* Firefox, Opera */
if (document.addEventListener) {
    document.addEventListener('DOMContentLoaded', init, false);
}
Описание слайда:
Событие DOMContentLoaded /* Firefox, Opera */ if (document.addEventListener) { document.addEventListener('DOMContentLoaded', init, false); }

Слайд 14





Решение для IE
/* Internet Explorer */
document.write('<script src="//:" id="ie_onload" defer="defer"><\/script>');
var script = document.getElementById('ie_onload');
script.onreadystatechange = function() {
    if (this.readyState == 'complete') {
        init();
    }
};
Описание слайда:
Решение для IE /* Internet Explorer */ document.write('<script src="//:" id="ie_onload" defer="defer"><\/script>'); var script = document.getElementById('ie_onload'); script.onreadystatechange = function() { if (this.readyState == 'complete') { init(); } };

Слайд 15





Решение для Safari
/* Safari */
if (/WebKit|Khtml/i.test(navigator.userAgent)) {
    var timer = setInterval(function() {
        if (/loaded|complete/.test(document.readyState)) {
            clearInterval(timer);
            init();
        }
    }, 1);
}
Описание слайда:
Решение для Safari /* Safari */ if (/WebKit|Khtml/i.test(navigator.userAgent)) { var timer = setInterval(function() { if (/loaded|complete/.test(document.readyState)) { clearInterval(timer); init(); } }, 1); }

Слайд 16





Для остальных браузеров
window.onload();
Описание слайда:
Для остальных браузеров window.onload();

Слайд 17





Динамический градиент
Описание слайда:
Динамический градиент

Слайд 18





Элемент canvas
var oCanvas = document.createElement('canvas');
var oContext = oCanvas.getContext('2d');
var oGradient = oContext.createLinearGradient(0, 0, 0, iBlockHeight);

oGradient.addColorStop(0, sColorStart);
oGradient.addColorStop(1, sColorEnd);

oContext.fillStyle = oGradient;
oContext.fillRect(0, 0, iBlockWidth, iBlockHeight);
Описание слайда:
Элемент canvas var oCanvas = document.createElement('canvas'); var oContext = oCanvas.getContext('2d'); var oGradient = oContext.createLinearGradient(0, 0, 0, iBlockHeight); oGradient.addColorStop(0, sColorStart); oGradient.addColorStop(1, sColorEnd); oContext.fillStyle = oGradient; oContext.fillRect(0, 0, iBlockWidth, iBlockHeight);

Слайд 19





Метод toDataURL()
var sDataUrl = oContext.canvas.toDataURL('image/png');
oBlock.style.backgroundImage = 'url(' + sDataUrl + ')';
oBlock.style.backgroundRepeat = 'repeat-x';
oBlock.style.backgroundPosition = 'top';
Описание слайда:
Метод toDataURL() var sDataUrl = oContext.canvas.toDataURL('image/png'); oBlock.style.backgroundImage = 'url(' + sDataUrl + ')'; oBlock.style.backgroundRepeat = 'repeat-x'; oBlock.style.backgroundPosition = 'top';

Слайд 20





Фильтр Gradient
oBlock.style.filter = 'progid:DXImageTransform.Microsoft.Gradient(Enabled=true, GradientType=0, StartColorStr=' + sColorStart + ', EndColorStr=' + sColorEnd + ')';
Описание слайда:
Фильтр Gradient oBlock.style.filter = 'progid:DXImageTransform.Microsoft.Gradient(Enabled=true, GradientType=0, StartColorStr=' + sColorStart + ', EndColorStr=' + sColorEnd + ')';

Слайд 21





Пример блока с градиентом
Описание слайда:
Пример блока с градиентом

Слайд 22





Поведение градиента при resize
Описание слайда:
Поведение градиента при resize

Слайд 23





Вертикальные надписи
Описание слайда:
Вертикальные надписи

Слайд 24





Поворот и отражение
Описание слайда:
Поворот и отражение

Слайд 25





Код для IE
<div class="header">Яндекс.Директ</div>

div.header {background-color: white; filter: flipv() fliph(); writing-mode: tb-rl;}
Описание слайда:
Код для IE <div class="header">Яндекс.Директ</div> div.header {background-color: white; filter: flipv() fliph(); writing-mode: tb-rl;}

Слайд 26





Формат SVG
<svg xmlns="http://www.w3.org/2000/svg">
    <text transform="rotate(-90)">
        <tspan>Яндекс.Директ</tspan>
    </text>
</svg>

<object type="image/svg+xml" data="data:image/svg+xml,…"></object>
Описание слайда:
Формат SVG <svg xmlns="http://www.w3.org/2000/svg"> <text transform="rotate(-90)"> <tspan>Яндекс.Директ</tspan> </text> </svg> <object type="image/svg+xml" data="data:image/svg+xml,…"></object>

Слайд 27





Примеры фиксированного блока
Описание слайда:
Примеры фиксированного блока

Слайд 28





Другие решения
«Выпрыгивание» из iframe
Определение контрастности
«Всплывающий» баннер
Описание слайда:
Другие решения «Выпрыгивание» из iframe Определение контрастности «Всплывающий» баннер

Слайд 29





«Выпрыгивание» из iframe
if (top.document && (self != top)) {
    try {
        if (self.document.domain != top.document.domain) isSameDomain = false;
    } catch (error) {
        isSameDomain = false;
    }
}

if (!isSameDomain) {
    self.parent.location = document.location;
}
Описание слайда:
«Выпрыгивание» из iframe if (top.document && (self != top)) { try { if (self.document.domain != top.document.domain) isSameDomain = false; } catch (error) { isSameDomain = false; } } if (!isSameDomain) { self.parent.location = document.location; }

Слайд 30





Определение контрастности
Описание слайда:
Определение контрастности

Слайд 31





Логотипы Яндекса
Описание слайда:
Логотипы Яндекса

Слайд 32





Вычисление яркости
var sColor = '#393939';

var iRed = parseInt(sColor.substr(1, 2), 16);
var iGreen = parseInt(sColor.substr(3, 2), 16);
var iBlue = parseInt(sColor.substr(5, 2), 16);

var fBrightness = (iRed * 299 + iGreen * 587 + iBlue * 114) / 1000;
return (fBrightness > 125) ? 'black' : 'white';
Описание слайда:
Вычисление яркости var sColor = '#393939'; var iRed = parseInt(sColor.substr(1, 2), 16); var iGreen = parseInt(sColor.substr(3, 2), 16); var iBlue = parseInt(sColor.substr(5, 2), 16); var fBrightness = (iRed * 299 + iGreen * 587 + iBlue * 114) / 1000; return (fBrightness > 125) ? 'black' : 'white';

Слайд 33





Пример блока на темном фоне
Описание слайда:
Пример блока на темном фоне

Слайд 34





«Всплывающий» баннер
var oHtml = document.getElementsByTagName('html')[0];
if (!document.body) {    oHtml.appendChild(document.createElement('body'));
}
var oBody = document.body;

var oBlock = document.createElement('div');
oBlock.innerHTML = sHtml;
oBody.insertBefore(oBlock, oBody.firstChild);
Описание слайда:
«Всплывающий» баннер var oHtml = document.getElementsByTagName('html')[0]; if (!document.body) { oHtml.appendChild(document.createElement('body')); } var oBody = document.body; var oBlock = document.createElement('div'); oBlock.innerHTML = sHtml; oBody.insertBefore(oBlock, oBody.firstChild);

Слайд 35





Спасибо за внимание!

Юрий Беляков

адрес: 111033, Россия, Москва
ул. Самокатная д. 1, стр. 21
телефон: +7 (495) 739-00-00
факс: +7 (495) 739-70-70
эл. почта: belyan@yandex-team.ru
Описание слайда:
Спасибо за внимание! Юрий Беляков адрес: 111033, Россия, Москва ул. Самокатная д. 1, стр. 21 телефон: +7 (495) 739-00-00 факс: +7 (495) 739-70-70 эл. почта: belyan@yandex-team.ru



Похожие презентации
Mypresentation.ru
Загрузить презентацию