L2Banners

VIP
  • Публикаций

    941
  • Зарегистрирован

  • Посещение

  • Победитель дней

    29
  • Отзывы

    100%

L2Banners стал победителем дня 4 февраля

L2Banners имел наиболее популярный контент!

Репутация

548

Информация о L2Banners

  • Звание
    Коренной житель

Информация

  • Пол
    Мужчина
  • Интересы
    L2Banners.ru - Качественная верстка сайтов по доступным ценам!

Контакты

Посетители профиля

12970 просмотров профиля
  1. L2Banners

    Реклама в группе Prikolin2

    И так, что мы имеем. Сам ты рекламу не покупал. Люди что-то рассказывали... Наныл 2 страницы безосновательных домыслов и предъяв. Тем не менее если с поста как ты говоришь 30 переходов, то 400/30 = 13р за переход. Добавим к этому еще скидку в 10% получается 12р за переход в тематической группе, где каждый кликнувший потенциальный игрок. И это только по твоим словам о том что ты слышал... Интересно сколько стоит переход с упса, опа и т.д..? сколько стоит переход на л2топе? Может пора пойти в другой теме поныть? Более того если проект выстрелит он может собрать под сотню переходов, как минимум нужно постараться понравиться потенциальным игрокам своим постом, а не писать шаблоны для очередной легенды Вот пара прошлогодних скринов: У тебя явно проблемы какие-то. В итоге окажется что либо у тебя своя группа и ты думаешь что это поможет ей раскрутиться, либо какой-то анонс типа старса, они любят такую дичь задвигать. И напоследок, что происходит когда людям действительно интересно что под ссылкой:
  2. Меня часто просят сделать на сайте гугл переводчик и в качестве примера ставят выбор языка "Как у Rampage". Выглядит он вот так: Я сразу же заметил ряд недостатков в скрипте рампейджа и вообще в методе который был взят за его основу, поэтому при первой же возможности занялся написанием своего решения. Прочитав документацию и покопавшись в сети, я увидел, что многие вопросы связанные с кастомизацией остаются без ответов, в лучшем случае предлагаются решения похожие на скрипт рампейджа, но более упрощенные. Так уж сложилось, что я как раз искал тему для моей первой статьи на habr.com и судя по всему с темой я не прогадал. Статью практически сразу опубликовали и я получил полноправный аккаунт. Эта тема будет полезна всем верстальщикам и фронтенд разработчикам форума поэтому я размещаю её здесь. Перед тем как преступить к написанию данной статьи, я решил посетить страницу где генерируется Google Translate Widget, чтобы узнать о возможных изменениях и увидел данное сообщение: Получить доступ к переводчику сайтов больше нельзя. Это никак не отразится на тех, кто уже установил соответствующий плагин. Советуем пользователям переводить веб-страницы с помощью браузеров, имеющих встроенную функцию перевода. Не сложно догадаться какой браузер имеет ввиду Google, но речь не об этом. Самое главное, что плагин все также остается рабочим и мы можем им пользоваться. Кроме того, за неимением возможности генерировать виджет, данная тема становиться еще более актуальной, ведь потребность в машинном переводе никуда не исчезла, а Google Translate, на мой взгляд, один из самых мощных инструментов для этого. Как будет выглядеть наш пример: Для корректной работы нашего кастомного виджета необходимо подключить файлы: <link rel="stylesheet" href="css/style.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> <script src="js/google-translate.js"></script> <script src="//translate.google.com/translate_a/element.js?cb=TranslateInit"></script> Содержимое style.css: body { margin: 0; padding: 0; } .page { display: flex; min-height: 100vh; } /* Фиксируем позицию body, которую меняет панель гугла*/ .page_fix { top: 0 !important; position: static !important; } /* Прячем панель гугла */ .skiptranslate { display: none !important; } /* language */ .language { position: fixed; left: 10px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; } .language__img { margin: 2px; cursor: pointer; opacity: .5; } .language__img:hover, .language__img_active { opacity: 1; } /* content */ .content { text-align: center; margin: auto; } Используемые флаги: Разметка кастомного виджета: <div class="language"> <img src="images/lang/lang__ru.png" alt="ru" data-google-lang="ru" class="language__img"> <img src="images/lang/lang__en.png" alt="en" data-google-lang="en" class="language__img"> <img src="images/lang/lang__de.png" alt="de" data-google-lang="de" class="language__img"> <img src="images/lang/lang__fr.png" alt="fr" data-google-lang="fr" class="language__img"> <img src="images/lang/lang__pt.png" alt="pt" data-google-lang="pt" class="language__img"> </div> Содержимое google-translate.js: const googleTranslateConfig = { lang: "ru", }; function TranslateInit() { let code = TranslateGetCode(); // Находим флаг с выбранным языком для перевода и добавляем к нему активный класс $('[data-google-lang="' + code + '"]').addClass('language__img_active'); if (code == googleTranslateConfig.lang) { // Если язык по умолчанию, совпадает с языком на который переводим // То очищаем куки TranslateClearCookie(); } // Инициализируем виджет с языком по умолчанию new google.translate.TranslateElement({ pageLanguage: googleTranslateConfig.lang, }); // Вешаем событие клик на флаги $('[data-google-lang]').click(function () { TranslateSetCookie($(this).attr("data-google-lang")) // Перезагружаем страницу window.location.reload(); }); } function TranslateGetCode() { // Если куки нет, то передаем дефолтный язык let lang = ($.cookie('googtrans') != undefined && $.cookie('googtrans') != "null") ? $.cookie('googtrans') : googleTranslateConfig.lang; return lang.substr(-2); } function TranslateClearCookie() { $.cookie('googtrans', null); $.cookie("googtrans", null, { domain: "." + document.domain, }); } function TranslateSetCookie(code) { // Записываем куки /язык_который_переводим/язык_на_который_переводим $.cookie('googtrans', "/auto/" + code); $.cookie("googtrans", "/auto/" + code, { domain: "." + document.domain, }); } При смене языка добавляется куки с ключом googtrans и значением вида /ru/en /ru — это язык который переводим /en — это язык на который переводим Это стандартное поведение, поэтому я им и воспользовался для кастомизации виджета. Кликая по флажкам необходимых языков, из атрибута data-google-lang в куки записываются соответствующие значение вида /auto/выбранный_язык. Затем происходит перезагрузка и auto заменяется на язык записанный отдельно в конфиг: const googleTranslateConfig = { lang: "ru", }; Это сделано для того, чтобы мы не привязывались к одному языку. Если к примеру сайт переведен на 2 языка, русский и английски, то мы можем передать текущий язык в конфиг и правильно обработать его. Все доступные языки и их код стандарта ISO-639-1 можно найти тут. Функции добавления и очисти куки я вынес отдельно, чтобы была возможность провести дополнительные проверки и вызвать в других местах. Важный момент, куки необходимо менять для основного домена и всех поддоменов. Теперь, имея контроль над нашим виджетом, мы можем без проблем реализовывать более сложные дизайны: Репозиторий с проектом на GitHub Cсылка на оригинал статьи
  3. View this tutorial Кастомный виджет googleTranslate для сайта Меня часто просят сделать на сайте гугл переводчик и в качестве примера ставят выбор языка "Как у Rampage". Выглядит он вот так: Я сразу же заметил ряд недостатков в скрипте рампейджа и вообще в методе который был взят за его основу, поэтому при первой же возможности занялся написанием своего решения. Прочитав документацию и покопавшись в сети, я увидел, что многие вопросы связанные с кастомизацией остаются без ответов, в лучшем случае предлагаются решения похожие на скрипт рампейджа, но более упрощенные. Так уж сложилось, что я как раз искал тему для моей первой статьи на habr.com и судя по всему с темой я не прогадал. Статью практически сразу опубликовали и я получил полноправный аккаунт. Эта тема будет полезна всем верстальщикам и фронтенд разработчикам форума поэтому я размещаю её здесь. Перед тем как преступить к написанию данной статьи, я решил посетить страницу где генерируется Google Translate Widget, чтобы узнать о возможных изменениях и увидел данное сообщение: Не сложно догадаться какой браузер имеет ввиду Google, но речь не об этом. Самое главное, что плагин все также остается рабочим и мы можем им пользоваться. Кроме того, за неимением возможности генерировать виджет, данная тема становиться еще более актуальной, ведь потребность в машинном переводе никуда не исчезла, а Google Translate, на мой взгляд, один из самых мощных инструментов для этого. Как будет выглядеть наш пример: Для корректной работы нашего кастомного виджета необходимо подключить файлы: <link rel="stylesheet" href="css/style.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> <script src="js/google-translate.js"></script> <script src="//translate.google.com/translate_a/element.js?cb=TranslateInit"></script> Содержимое style.css: body { margin: 0; padding: 0; } .page { display: flex; min-height: 100vh; } /* Фиксируем позицию body, которую меняет панель гугла*/ .page_fix { top: 0 !important; position: static !important; } /* Прячем панель гугла */ .skiptranslate { display: none !important; } /* language */ .language { position: fixed; left: 10px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; } .language__img { margin: 2px; cursor: pointer; opacity: .5; } .language__img:hover, .language__img_active { opacity: 1; } /* content */ .content { text-align: center; margin: auto; } Используемые флаги: Разметка кастомного виджета: <div class="language"> <img src="images/lang/lang__ru.png" alt="ru" data-google-lang="ru" class="language__img"> <img src="images/lang/lang__en.png" alt="en" data-google-lang="en" class="language__img"> <img src="images/lang/lang__de.png" alt="de" data-google-lang="de" class="language__img"> <img src="images/lang/lang__fr.png" alt="fr" data-google-lang="fr" class="language__img"> <img src="images/lang/lang__pt.png" alt="pt" data-google-lang="pt" class="language__img"> </div> Содержимое google-translate.js: const googleTranslateConfig = { lang: "ru", }; function TranslateInit() { let code = TranslateGetCode(); // Находим флаг с выбранным языком для перевода и добавляем к нему активный класс $('[data-google-lang="' + code + '"]').addClass('language__img_active'); if (code == googleTranslateConfig.lang) { // Если язык по умолчанию, совпадает с языком на который переводим // То очищаем куки TranslateClearCookie(); } // Инициализируем виджет с языком по умолчанию new google.translate.TranslateElement({ pageLanguage: googleTranslateConfig.lang, }); // Вешаем событие клик на флаги $('[data-google-lang]').click(function () { TranslateSetCookie($(this).attr("data-google-lang")) // Перезагружаем страницу window.location.reload(); }); } function TranslateGetCode() { // Если куки нет, то передаем дефолтный язык let lang = ($.cookie('googtrans') != undefined && $.cookie('googtrans') != "null") ? $.cookie('googtrans') : googleTranslateConfig.lang; return lang.substr(-2); } function TranslateClearCookie() { $.cookie('googtrans', null); $.cookie("googtrans", null, { domain: "." + document.domain, }); } function TranslateSetCookie(code) { // Записываем куки /язык_который_переводим/язык_на_который_переводим $.cookie('googtrans', "/auto/" + code); $.cookie("googtrans", "/auto/" + code, { domain: "." + document.domain, }); } При смене языка добавляется куки с ключом googtrans и значением вида /ru/en /ru — это язык который переводим /en — это язык на который переводим Это стандартное поведение, поэтому я им и воспользовался для кастомизации виджета. Кликая по флажкам необходимых языков, из атрибута data-google-lang в куки записываются соответствующие значение вида /auto/выбранный_язык. Затем происходит перезагрузка и auto заменяется на язык записанный отдельно в конфиг: const googleTranslateConfig = { lang: "ru", }; Это сделано для того, чтобы мы не привязывались к одному языку. Если к примеру сайт переведен на 2 языка, русский и английски, то мы можем передать текущий язык в конфиг и правильно обработать его. Все доступные языки и их код стандарта ISO-639-1 можно найти тут. Функции добавления и очисти куки я вынес отдельно, чтобы была возможность провести дополнительные проверки и вызвать в других местах. Важный момент, куки необходимо менять для основного домена и всех поддоменов. Теперь, имея контроль над нашим виджетом, мы можем без проблем реализовывать более сложные дизайны: Репозиторий с проектом на GitHub Cсылка на оригинал статьи Author L2Banners Category Инструкции Отправлено 02/04/19 02:29  
  4. L2Banners

    Куплю анонсер

    К средине февраля выйдет вторая версия Best-Anons с обновленным шаблоном и множеством полезных функций. Так же возможна адаптация под ваш дизайн.
  5. L2Banners

    Не устанавливается StressWeb

    В адресной строке поменять step 7 на step 8 и нажать enter, пользователь может не создаться тогда при входе нужно без логина и пароля попробовать зайти. Еще как вариант другой бразуер попробовать ну и убедиться что версия пхп соответствует само собой.
  6. L2Banners

    Реклама в группе Prikolin2

    Цена не менялась с ноября 2018, никому не понятно почему у вас так бомбит при упоминании группы
  7. L2Banners

    Реклама в группе Prikolin2

    Обновлена информация по статистике: Охват в сутки в среднем 8000 Средняя посещаемость ~1200 уникальных посетителей в день на 8000 просмотров При среднем количестве уников в месяц более 23000 (около 5500 в неделю)
  8. Среднестатистический российский хакер является молодым человеком в возрасте от 30 до 35 лет. При этом он не представляет собой компьютерного гения, рассказал официальный представитель Генпрокуратуры РФ Александр Куренной. «Вопреки расхожему мнению, это не гениальный хакер» , – рассказал Куренной на интернет-канале Генпрокуратуры «Эфир». По его словам, нередко кибермошенники даже не имеют технического образования. Взламывать чужие смартфоны и компьютеры им позволяют программы, которые они не пишут, а «каким-то образом получают». В настоящее время киберпреступления являются больше техническим видом преступности, чем интеллектуальным, рассказал представитель Генпрокуратуры. За 9 месяцев с начала 2018 года в России было совершено более 140 тысяч преступлений с использованием информационно-коммуникационных технологий. Из них удалось расследовать более 35 тысяч, подытожил спикер ведомства.
  9. L2Banners

    Книги по JavaScript

    Сейчас читаю ECMAScript 6 для разработчиков очень познавательно, понравились достаточно понятные сравнения со старыми методами решения задач, короткие и лаконичные примеры. Подойдет тем кто уже не плохо знаком с js так как подача материала в сравнении и новичкам по сути не с чем сравнивать. Информацию вы конечно получите, но вряд ли осознаете в полной мере. Книга не большая, но подробная. Советую почитать.
  10. L2Banners

    Реклама в группе Prikolin2

    В группе так же периодически появляется уникальный видео контент, который не дает подписчикам заскучать:
  11. L2Banners

    Куплю скрипт анонса серверов

    Лучший анонс по самой выгодной цене: https://best-anons.ru/ Имеется стандартный шаблон: https://best-anons.ru/ А так же 2 модификации: http://l2hop.best-anons.ru/ и http://l2oops.best-anons.ru/ Кроме того по вашему дизайну можно создать уникальный шаблон и функционал, пример: https://la2on.com/ А так же на данный момент уже протестирована на рабочем анонсе мультиязычность и может быть реализована в вашем проекте.
  12. Один из стажеров Google во время обучения случайно нажал не на ту кнопку и разместил в интернете тестовую рекламу желтого прямоугольника, а после поместил ее на онлайн-аукцион по цене в десять раз выше нормы, сообщает газета Financial Times. По данным издания, Google обучал несколько стажеров пользоваться электронной системой размещения рекламы. Один из студентов по ошибке опубликовал в сети тестовую рекламу, а после этого разместил заказ на онлайн-аукционе, где установил цену за рекламу в $25 за каждую тысячу просмотров объявления, что в десять раз превышает нормальную стоимость. Ошибку заметили только через 45 минут, для онлайн-аукционов это «целая жизнь», пишет газета. За это время рекламу разместили у себя различные сайты и мобильные приложения. В результате Google понес убытки. Компания подтвердила изданию информацию об ошибке стажера, отказавшись назвать сумму ущерба. По данным газеты, ошибка обошлась Google примерно в $10 млн.
  13. L2Banners

    Анонсы, и их рентабельность

    Хорошая идея! После НГ выйдет новая версия Best-Anons обязательно добавлю такую метку
  14. L2Banners

    Темы с форума IPB/IPS

    Если на sw13 то вот: ,если на чем-то другом, то нужно уточнить на чем