• Как читать user-agent?

    sim3x
    @sim3x
    Ответ написан
    Комментировать
  • Как читать user-agent?

    @Chatter0
    Читать Useragent можно, прочитав в скобках название операционной системы и модели устройства, а после скобок написана версия браузера. Первый Useragent - это смартфон LG K130E под управлением Android 5.1.1 LMY47V и с браузером Google Chrome 58.0.3029.83. Второй - смартфон iPhone под управлением iOS 10.2, браузер неизвестен. Третий - компьютер под управлением Windows 7 с 64-разрядной версией и с браузером Google Chrome 59.0.3071.115.
    Ответ написан
    Комментировать
  • Плавная прокрутка до элемента по его ID, only native javascript?

    xakplant
    @xakplant
    Автор сайта xakplant.ru
    Можно с помощью ScrollIntoView.
    Ответ написан
    Комментировать
  • Проблема масштабирования адаптивной верстки на мобильных браузерах

    officialmuse
    @officialmuse
    фронтэндщик и немного бэкэндю :)
    Просто вот так:
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    Ответ написан
    7 комментариев
  • Как управлять svg в теге object из js?

    SilenceOfWinter
    @SilenceOfWinter
    та еще зажигалка...
    Когда вы работаете с внешним JS (то есть не встроенным в файл SVG), если у вас встроенные SVG, вы можете выбрать его как любой другой DOM-элемент. Если вы используете вы можете выбрать его через contentDocument.

    window.onload=function() {
      var object = document.getElementById("logoObject");
      var svgDocument = object.contentDocument;
      var svgb1 = svgDocument.getElementsByClassName("firstb");
      var svgb2 = svgDocument.getElementsByClassName("secondb");
      svgb1[0].setAttribute("fill", "yellow");
      svgb2[0].setAttribute("fill", "red");
    };
    Ответ написан
    8 комментариев
  • Как слать postmessage из iframe родителю?

    @vacslav-dev
    web-developer
    В iframe:
    parent.postMessage(JSON.stringify({key: 'value'}), 'http://адрес-родительского-окна');

    Вторым параметром в postMessage можно передать '*' - тогда сообщение будет доступно для всех окон.
    Сериализация в JSON первого параметра нужна для поддержки IE ниже не то 8 не то 9 версии, точно не вспомню.
    В родительском окне:
    function handlerMessage(e){
        var data = JSON.parse(e.data);
        var origin = e.origin;
        if(origin !== 'http://адрес_iframe'){
            return false;
        }
        // здесть можно использовать data как объект.
    }
    if(window.addEventListener){
        window.addEventListener('message', handlerMessage);
    } else {
        window.attachEvent('message', handlerMessage);
    }

    Код на 100% рабочий, с боевого проекта.
    Ответ написан
    Комментировать
  • G"gulp" не является внутренней или внешней командой, исполняемой программой или пакетным файлом?

    kubris
    @kubris
    Верстка сайтов, натяжка на модх
    На Windows 8 работаю. Появилась та же ошибка.
    Открываем терминал(командную строку), пишем:
    npm ls gulp
    > `-- gulp@4.0.2 -> C:\Users\kubris.pro\AppData\Roaming\npm\node_modules\gulp // <- Это ответ системы

    npm ls -g gulp
    > C:\Users\kubris.pro\AppData\Roaming\npm
    `-- gulp@4.0.2

    Если через npm видно стоящие галпы, т.е. локально и глобально, значит ошибка в путях (PATH). Как она возникла, когда раньше все работало - не знаю, но она появилась. Если не видно надписей про Gulp, значит он не установлен.
    Далее прописываем пути:
    - Мой компьютер - свойства - Дополнительные параметры системы =>
    - Свойства системы - Переменные среды (ПС).
    В ПС два окна - верхнее пишет пути пользователя, нижнее - системы.
    В верхнем окошке, в левой колонке ищем "PATH", залазим внутрь, любуемся строчкой "Значение переменной". В нее, в самый ее конец, если там уже что-то написано, вставим ответ системы, вылезший после команды "npm ls gulp", а именно: "C:\Users\kubris.pro\AppData\Roaming\npm\node_modules\" => жмем OK.
    В нижнем окошке так же ищем PATH и проделываем аналогичные инструкции, только вставляем ответ при поиске глобальной переменной: "C:\Users\kubris.pro\AppData\Roaming\npm".

    Закрываем терминал, открываем, пишем gulp --version. Если версию Gulp пронаблюдали, значит всё, мы всё починили.

    p.s. Если не наблюдаем, тогда открываем браузер и пишем в нем:
    "gulp не является внутренней или внешней командой"
    p.p.s Может, все это можно вставить и в одном любом окне , но мне показалось логичней сделать так, как я сделал.
    Ответ написан
    Комментировать