• Как пофиксить в npm vulnerabilities?

    bingo347
    @bingo347 Куратор тега Node.js
    Crazy on performance...
    npm с некоторых пор проверяет все пакеты на уязвимости в js коде и предупреждает Вас о найденыых
    ищет это все простейший бот на эвристиках, по различным патернам
    работать они никак не мешают, Вас просто предупредили, что в установленных пакетах имеются потенциально небезопасные фрагменты кода
    Ответ написан
    1 комментарий
  • Как вывести самую длинную строку из массива?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const longestStr = arr.reduce((max, n) => max.length > n.length ? max : n, '');
    // или
    const longestStr = arr.sort((a, b) => b.length - a.length)[0];
    // или
    const longestStr = arr.reduce((acc, n) => (acc[n.length] = n, acc), []).pop();

    или, в более общем виде:

    function max(data, key = n => n) {
      const getVal = key instanceof Function ? key : n => n[key];
      let result = null;
    
      for (const n of data) {
        const val = getVal(n);
        if (!result || result[1] < val) {
          result = [ n, val ];
        }
      }
    
      return result?.[0];
    }
    
    
    const longestStr = max(arr, 'length');
    Ответ написан
    2 комментария
  • Как вывести самую длинную строку из массива?

    @Alaska14
    let d19 = ['Your', 'payment', 'method', 'will', 'automatically', 'be', 'charged', 'in', 'advance', 'every'];
    let maxString = '';
    let out19 = document.querySelector('.out-19');
    
    function f19() {
        for (i = 0; i < d19.length; i++) {
            if (d19[i].length > maxString.length) {
                maxString = d19[i]
            }
        }
        out19.innerHTML = maxString;
    }
    
    document.querySelector('.b-19').onclick = f19;
    Ответ написан
    Комментировать
  • Как заменить все элементы "display: none" на "display: block"?

    @sasha_jarvi
    let elems = document.body.getElementsByTagName("*"); // получаем все элементы страницы в виде HTMLCollection
    
    for (let item of elems) { // обходим коллекцию элементов
        if (item.style.display === "none") { // если значение свойства display равно "none"
          item.style.display = "block"; // меняем значение свойства display на"block"
        }
    }


    Образец на чистом JS (с выполнением функции при нажатии на кнопку): https://jsfiddle.net/cb4axn7t/2/

    UPD: вариант на jQuery: https://jsfiddle.net/v48na65e/
    Ответ написан
    Комментировать
  • Какой выбрать монитор для верстальщика?

    Vlad_IT
    @Vlad_IT Куратор тега Вёрстка
    Front-end разработчик
    21:9

    Удобно. Сам использую LG 29UM68-P, очень удобно использовать для верстки. Часть экрана занимает браузер с livereload, а другую часть редактор. Это намного удобнее, чем два монитора, т.к. не надо сильно шеей мотать. Также нет рамки посередине. Еще к плюсу можно отнести то, что фильмы снимаются под такую пленку, и нет полос вверху (но в сериалах и ютуб-видео есть полосы по бокам), также очень кайфово можно поиграть.
    На работе у меня два 24' моника, а дома один широкий на 29', и в сравнении, один широкий гораздо удобнее чем два обычных.
    Ответ написан
    Комментировать
  • Как убрать подчеркивание у последней строки таблицы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    table tr:last-child td {
      border-bottom: none;
    }
    Ответ написан
    Комментировать
  • Какой CSS препроцессор выбрать?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Все топовые препроцессоры дают примерно равный набор возможностей и очень очень мощны. Всегда найдутся люди, которые будут говорить, что им нравится X-препроцессор, ибо там есть киллер-фича без которой они не могут жить, но это всё вкусовщина. Так что просто выбирайте тот препроцессор, синтаксис которого вам будет по душе. Вот и весь принцип.
    Ответ написан
    Комментировать
  • Почему не работают медиа запросы?

    Prakop
    @Prakop
    Вот что мне помогло, вставить в шапку сайта такой метатег
    <meta name="viewport" content="width=device-width, initial-scale=1">
    Ответ написан
    4 комментария
  • Как отследить нескольких кликов и конверсии?

    DanArst
    @DanArst
    Гриффиндор в моде при любой погоде!
    Можно и там и там без проблем. Имхо удобно использовать для это Google Tag Manager.
    Задайте каждой ссылке свой класс и в GTM при настройке тега, выберите в качестве конфигурации Событие GA 4, а триггером Клик по ссылкам и указываете идентификатор ссылки или класс. И так для каждой ссылки.
    В GA создаете цели на основе конверсий, связываете их с Google Ads и все.

    Если не знакомы с GTM, то вот первый попавшийся гайд по настройке и подключению GA4 с помощью GTM
    Ответ написан
    Комментировать
  • Какие показатели продуктивности использовать в SMM и какие в PPC для оффлайнового ритейла?

    zamboga
    @zamboga
    Аналитика данных, BI-аналитика, дашборды
    2 промокода, которые надо одновременно регистрировать на сайте, чтобы принять участие в каком-то розыгрыше или получить иные бонусы.
    Первый промокод — в рекламе, второй — "под крышечкой" (даже будет достаточно промоупаковки). Так вы сможете оценить число людей, которые купили продукт после просмотра рекламы (конечно, не все, кто после рекламы купят — ещё будут регистрировать промокоды, поэтому "зарегистрированных" надо ещё умножать на коэффициент k).
    Ответ написан
    1 комментарий
  • Как убрать обрезание изображении в Opencart 3.x?

    zoozag
    @zoozag
    Opencart
    1. Вариант
    Ищите и убирайте во всех контроллерах, где нужно убарть resize:
    $this->model_tool_image->resize
    2. Вариант
    Поправьте логику ресайза в system/library/image.php
    Если я не ошибаюсь, вам будет достаточно заменить:
    $this->image = imagecreatetruecolor($width, $height);

    на
    $this->image = imagecreatetruecolor($new_width, $new_height);

    Тогда он просто отскейлит картинку до нужных размеров по одной из сторон. Потестите и подправьте под себе.
    2 вариант предпочтительней. Т.к. совсем не ресайзить картинки плохая идея. У вас будут очень тяжелые страницы категорий и т.д.
    Ответ написан
    Комментировать