Задать вопрос
  • Как не позволить пользователю вставить html тег в div использую js?

    Dr_Elvis
    @Dr_Elvis
    В гугле забанен
    Учти что любой JS можно просто выключить у тебя на сайте и обойти. Тут нужно на стороне сервера обрабатывать и чистить от не нужного.
    Ответ написан
    Комментировать
  • QuerySelector и querySelectorAll?

    SagePtr
    @SagePtr
    Еда - это святое
    Проще уж на родительский элемент повесить обработчик события, а там через event.target проверять, какому именно окну принадлежит элемент, в который пользователь нажал.
    По поводу querySelectorAll - он возвращает массив элементов, а не единичный элемент, как querySelector. Почему нельзя посмотреть это в документации?
    Ответ написан
    5 комментариев
  • Где взять тест-кейсы для тренировки скила qa автоматизатора?

    @taktik
    Sr. QA automation | SDET
    Начинать нужно с теории тестирования, учиться выделять у продукта функциональные области и составлять на них чек-листы и тест-кейсы, только после этого приступать к автоматизации.
    Автоматизатор - по сути, тот же самый тестировщик, но с навыками программирования.
    Ответ написан
    4 комментария
  • Можно ли питать ноут от сети?

    15432
    @15432
    Системный программист ^_^
    можно ли так оставить ноут, чтобы он именно от сети питался

    Абсолютно не о чем беспокоиться. Пусть себе питается.

    1)сеть заряжает батарею 2)батарея питает ноут

    Контроллер питания подает напряжение на ноут и батарею. Ток "вливается" в батарею и ноут.
    Батарея зарядилась - ток в неё идти перестает, идёт только на ноут. Сеть отключается - ток идет из батареи в ноут.
    Это если очень упростить.

    Единственное - у ячейки литиевого аккума самое стабильное состояние на уровне 3.7в (60-70% заряда). Ниже или выше - немного ускоряется деградация. Ещё деградирует от повышенной температуры. Поэтому некоторые производители добавляют в ноутбук режим "неполного заряда". На деле же срок жизни аккумулятора куда больше зависит от балансировки внутри батареи, если одна из ячеек всегда будет переразряжаться или перезаряжаться, она и помрет. Но на это вы никак не повлияете.
    Ответ написан
  • Как сделать адаптивную разделительную линию между 2-мя текстами?

    @ksnk
    codius.ru/articles/%D0%9A%D0%B0%D0%BA_%D1%81%D0%B2...
    Не оно ? если нужно обязательно к левому краю прижимать номера страниц - можно ul.oglavl span.text задать размер в процентах, например.
    или https://qna.habr.com/q/391993
    Ответ написан
    4 комментария
  • Как передвинуть блок по нажатию клавиши?

    imko
    @imko
    Senior Scratch Developer
    Ты у коллекции элементов пытаешься получить свойство одного элемента. Преобразуй ее в массив и перебором каждый обработай
    Ответ написан
    Комментировать
  • Как расположить данные элементы по шаблону?

    Krasnodar_etc
    @Krasnodar_etc
    fundraiseup
    А почему просто flex-wrap не подходит? Элементам сделать flex-basis: calc(50% - половина ширины отступа между ними в px) (для резиновости можно сделать без calc, просто 48%, чтоб отступ был динамичным)

    Но, имхо, css grid будут удобнее из-за того, что можно задать строго 2 колонки и точнее управлять отступами
    Ответ написан
    Комментировать
  • Сколько времени осталось до конкретного времени?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Полистайте на досуге документацию встроенного объекта JavaScript Date. Там много интересных методов.

    В этой задаче понадобятся:
    • const D = new Date(); – создать объект Date на сейчас;
    • D.setDate(D.getDate() + 1) — так можно получить следующий день
    • D.getDay() — получить день недели от 0 (вск) до 6 (суббота)

    Ответ написан
    1 комментарий
  • Как использовать сканер штрихкодов в вебе?

    @accountnujen
    сканер штрихкодов - это клавиатура. дружить её ни с кем не надо. Просто нужно добавить обработчик на ввод текста.

    Из коробки сканер штрихкодов печатает текст и жмёт enter (хотя не все не то что модели, иногда даже ревизии не жмут enter из коробки)

    https://learn.javascript.ru/keyboard-events
    Ответ написан
    8 комментариев
  • Как грамотно реализовать работу с AuthToken?

    black1277
    @black1277
    Вольный стрелок
    Рекомендую посмотреть вот эти ролики, очень подробно всё изложено:
    Простая авторизация на NODE JS и
    Продвинутая JWT авторизация на React и Node js
    Ответ написан
    Комментировать
  • Проблема в процессоре?

    svob
    @svob
    Фрилансер, текстовик широкого профиля
    Можно блок питания поменять, если есть второй комп (отвинтить оттуда) - они же универсальные, в отличие от материнских плат и процессоров. Тогда при сохранении проблемы на выбор останется всего два варианта: МП или процессор. А они в любом случае идут связкой.

    Память не могла же сразу вся испортиться, раз планок две штуки.

    На процессоре еще надо посмотреть гнутые ножки. Хотя с чего им было гнуться, если не роняли и не пинали, но...
    Ответ написан
    Комментировать
  • Проблема в процессоре?

    @Drno
    Проверить Блок питания. Проверить материнку. ПОпробовать запустить с 1 планкой оперативки. Диски временно отключить. Как появится картинка - вырубаем,подключаем диски, пробуем грузиться.
    Процессоры редко дохнут, скорее это БП или материнка

    Видеокарта - отдельная или со встройки пытаетесь картинку получить?
    Ответ написан
    Комментировать
  • Проблема в процессоре?

    @rPman
    Скрин синего экрана то покажи. Код скажет все необходимое.

    Как вариант, кроме железных проблем, могут быть проблемы с файловой системой (она повреждается если компьютер не штатно завершает свою работу), поэтому загружаешься в режим восстановления и выбираешь там либо автоматически либо через консоль вызывай chkdsk
    Ответ написан
    Комментировать
  • Как в скрипт смены темы добавить смену svg иконки кнопки с солнца на луну?

    mizutsune
    @mizutsune
    I will live forever in the flame of your eyes.
    Смену иконки можно реализовать без дополнительного JS. Ниже добавил два варианта решения задачи.

    Первый пример:

    Берем две иконки SVG. Допустим это Луна и Солнце. Далее нужно будет закодировать SVG для использования в CSS и сделать это можно, например, с помощью этого инструмента.

    Далее обработанные SVG применим для иконки. Сама иконка будет представлять из себя псевдоэлемент, хотя можно использовать и HTML тег, например span, но всё же не стоит добавлять лишние сущности в разметку, если в этом нет нужды.

    Добавляем в кнопку псевдоэлемент для иконки:

    .btn::after {
         content: "";
         position: relative;
         display: inline-flex;
         width: 20px;
         height: 20px;
         background-size: contain;
         background-repeat: no-repeat;
    }


    Далее на основе выбранной темы, будем менять бекграунд иконки. Так как через JS происходит добавление класса к корневому элементу с названием текущей темы - можно воспользоваться этим и через CSS без лишних проблем менять оформление иконке.

    Светлая тема:

    .light .btn::after{
    background-image: url("data:image/svg+xml...//иконка-солнца");
    }


    Темная тема:

    .dark .btn::after {
    background-image: url("data:image/svg+xml...//иконка-луны");
    }


    Хотя этот вариант и кажется простым и доступным, всё же он хранит в себе некоторые недостатки.

    1. Нельзя просто взять и изменить цвет иконки при наведении.
    2. При желании изменить дефолтный цвет иконки, придётся взять оригинальный SVG - вектор, перекрасить его и заново закодировать, после чего обновить значение в CSS файле.
    3. Если иконки большие по обьему, они будут увеличивать размер CSS файла, но тут есть решение этой проблемы. Перед конвертацией SVG в CSS, прогоняем вектор через SVGO. Правда и это порой не сильно помогает.

    Второй вариант:

    Добавить обе иконки в кнопку, в качестве SVG, задать иконкам разные классы и по дефолту скрыть обе иконки, например:

    <svg class="icon__light">
    // содержимое SVG
    </svg>


    <svg class="icon__dark">
    // содержимое SVG
    </svg>


    И через CSS менять видимость иконок.

    Пример:

    .icon__light,
    .icon__dark {
         display: none;
    }
    
    .light .icon__light {
         display: block;
    }
    
    .dark .icon__dark {
         display: block;
    }


    У этого подхода тоже имеются свои подводные камни, впрочем, как и у любого способа решить ту или иную задачу, но минусами этого подхода намного проще бороться.
    Ответ написан
    2 комментария
  • Как Изменять конец ссылки API при переходе на разные страницы?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Здесь абсолютно не нужен useState для url, потому как url зависит только от navigation.pathname и таким образом это просто вычисляемое значение. Из-за useState твой url "отстаёт на один рендер" от запроса данных - то есть на момент срабатывания useEffect с fetch значение url всегда "films". Потом ставится исправленный url, но fetch заново не вызывается - у него зависимости [].

    Далее, надо учесть кейс, когда pathname может поменяться. Тогда надо перевызвать useEffect с fetch. Заодно есть смысл размещать данные в отдельных ячейках - это может предотвратить состояние гонки, плюс это будет легче типизировать.

    Итого, упрощенно:
    const {data, setData} = useState({});
    
    const { pathname } = useLocation();
    const apiPath = pathname === "/films" ? "films" :
           pathname === "/starships" ? "starships" :
           pathname === "/people" ? "people" :
           pathname === "/planets" ? "planets" : "";
    
    
    
    useEffect(() => {
        const url = `https://swapi.dev/api/${apiPath}`;
    
        fetch(url)
          .then((res) => res.json())
          .then((resp) => {
            setData((data) => ({
               ...data,
               [apiPath]: resp.results,
            }));
          });
      }, [apiPath]);
    
    .......
    <Route path={"/films"} element={<Films value={data["films"]} />} />
    .....


    ну а внутри Films (и прочих) проверять что если value == null, то данные пока не загрузились, надо подождать.

    можно ещё ошибку загрузки обработать, тут сам справишься.
    Ответ написан
    3 комментария
  • Как просматривать переменные в Chrome devtools в реалтайме?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Live Expressions — можно наблюдать выражения «вживую». Достаточно тыкнуть глазик.
    Ответ написан
    Комментировать
  • Как лучше разрабатывать сайт с множеством ajax запросов, динамичным обновлением элементов?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Для вашего стека есть несколько вариантов.

    Первый самый очевидный: ларка в виде АПИ, на фронте Vue как SPA.

    Второй вытекает из предыдущего. Отказ от полноценного SPA в пользу использования отдельных интерактивных блоков, реализованных на Vue. Всё ещё требует глубокого погружения в изучение фронт-фреймворка. Хотя, на мой взгляд, там не очень высокий порог входа.

    Наконец, если вы не хотите глубоко уходить во фронтэнд разработку, и вам требуется при написании простеньких скриптов соблюсти какую-то систему, чтобы потом не погрязнуть в лапшовом коде, то можно попробовать какой-то очень простой фреймворк/библиотеку.
    Я могу порекомендовать Стимул – https://stimulus.hotwired.dev/handbook/introduction (перевод на русский)
    Вся документация читается и осмысливается буквально за час-два.
    Ответ написан
    Комментировать
  • Как сделать несколько выдвижных кнопок при наведении на карточку товара?

    Seasle
    @Seasle Куратор тега CSS
    1. ПКМ на элемент → Просмотреть код.
    spoiler
    627aa43641936153366242.png

    2. ПКМ на выделенной строке в инспекторе → Force state → :hover.
    spoiler
    627aa43c7ff23680791249.png

    В правой (или нижней) части инспектора будут стили. В ::after лежат «кнопки». Можете искать в CodePen по Floating Action Button.
    Ответ написан
    Комментировать
  • Как подгрузить данные из JSON после изменения контента через DOM?

    Rst0
    @Rst0
    Подскажите пожалуйста, возможно ли каким-то образом подгружать данные в модельное окно после добавления/обновления элементов с контентом?! Да и вообще, возможно ли такое сделать?!

    если уж Bootstrap, то
    Различное содержимое модального окна в Bootstrap 5
    накатал пример на основе мануала :


    создайте data- атрибуты по своим правилам и загрузите чего нужно
    в JS задайте опрос этих атрибутов
    var recipient = button.getAttribute('data-bs-whatever');
    modalTitle.textContent = 'Запрос цены ' + recipient;
    Ответ написан
    Комментировать