Ответы пользователя по тегу JavaScript
  • Как исправить ошибку Vue Js: "Error in nextTick: "NotFoundError: Failed to execute 'insertBefore' on 'Node'"?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Ну поищите где у вас по коду юзается insertBefore.
    Если не юзается, то теоретически это может быть из-за того, что как key в v-for попадаются дубликаты, но обычно это приводит к другим ошибкам.

    Таже ошибку полностью пишите: там, блин, после двоеточия идёт конкретное описание, которые вы обрезали и на скрине и в тексте.
    Ответ написан
    Комментировать
  • Как организуется преобразование подключаемых к сборке ES6-модулей в бандл?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Babel по умолчанию просто преобразует новый код(es6) в старый код(es5). Как очевидно из названия, es6-модулей в es5 нет, потому импорты он тоже преобразует. Это собственно всё, что он должен делеть.
    Сборка кода в единый бандл, минификация, оптимизация, treeshaking и прочее - не в его компетенции.
    Для сборки в glup есть свои инструменты, также есть системы строящиеся изначально от идеи сборки: webpack, rollup и т.д.
    Ответ написан
    Комментировать
  • Получение асинхронных данных из одного модуля в другой?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    В getter - никак. В action - просто запускать action модуля А и await его. Чтоб не запускать action модуля A несколько раз - можно сделать дополнительно - проксируеще-кеширущий action-прокладку, который будет запускать нужный action один раз и пока не будет ответа - на все следующие запросы отдавать Promise текущего.
    Ответ написан
    Комментировать
  • Как решить эту проблему с if/else?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    В localStorage хранятся только строки. Если вы делаете так localStorage.setItem('token', false), то при localStorage.getItem('token') вы получаете не '', а результат приведения false к строке, т.е. 'false'.
    Впрочем false !== '' - тоже истина, потому что !== сравнение без приведения типов.
    Ответ написан
    Комментировать
  • Почему через некоторое время fetch запрос начинает возвращать ошибку?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    5xx ошибки - ошибки сервера.
    Конкретно 503 - Service Temporarily Unavailable - сервис временно недоступен.
    Сервер шлёт тебя нахрен. Скорее всего там стоит защита от частых повторяющихся запросов. Либо сервер падает, но это маловероятно.
    Можешь попробовать рандомизировать частоту запроса и менять заголовки и юзерагент. Но не фает что поможет.
    Ответ написан
    Комментировать
  • Почему websotrm не видит alias из webpack?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Возможно надо ему явно указать на конфиг:
    5ef9c87e6a094647920370.png
    Ответ написан
  • Как отправить не-input переменные из формы на почту?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Ну и если делать по старинке и использовать встроенную отправку формы, то для этого есть скрытые input type="hidden" в которые можно класть какие-то данные и они отправятся вместе с формой.)
    Ответ написан
    Комментировать
  • Как сделать вывод текста js чтобы он был в коде страницы?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Код страницы - это код станицы. Там есть только то, что там есть. Чтобы что-то было в коде - положите это туда.)
    Все скрипты выполняются после загрузки на машине клиента. Если вы хотите парсить чужой сайт - либо разбирайте скрипты, либо используйте headless браузер для парсинга.
    Ответ написан
    Комментировать
  • Возможно ли как то использовать константы в пути import'a?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Только динамический import() поддерживает использование переменных, при этом в бандл попадают все файлы соответствующие паттерну.

    Если же мы говорим именно о константах, то на этапе компиляции webpack всё равно не знает, что у вас там лежит в config. Он не запускает ваш код - он его собирает.
    Если конфиг-файл у вас статический, то вы можете подключить его в сам конфиг вэбпака и сделать там, например, алиас вида:
    `~static/i18n/CONFIG_LANG.json`:  path.resolve(`./static/i18n/${config.lang}.json`)
    и в коде, соответственно, писать:
    import default_locale from `~static/i18n/CONFIG_LANG.json`

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

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Можно, если сервер принимает в таком виде. Судя по тому, что не работает - не принимает. GET и POST - разные типы запросов и каждый должен быть настроен отдельно с обоих концов.
    Ответ написан
    Комментировать
  • Как сделать проверку на Undefined?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Учись читать ошибки. Тут написано что undefined тот объект, у которого ты пытаешься прочитать children, а не сами children. В твоих примерах(которые, естественно, работают без проблем) на его месте o.
    Ответ написан
    Комментировать
  • Почему выпадает undefined в коде?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Потому что Symbol(<имя>) - создание нового символа. Чтобы получить значение по сиволу, надо иметь на руках ссылку на этот сиvвол. Из документации:
    Symbol("foo") === Symbol("foo"); // false
    Ответ написан
    1 комментарий
  • Как сделать редирект на 2 сайта и закрыть окно одного из сайтов очень быстро?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Мужик, у тебя логика есть? А если найду?
    Тут не надо знать вообще никакого языка программирования, тут нужно просто быть способным вставить квадратный кубик в квадратное отверстие.
    setTimeout(function() {
      partner_window.close();
      location.href = 'https://betta.com';
    }, 2000);
    ->
    setTimeout(function() {
      partner_window.close();
    }, 500);
    setTimeout(function() {
      location.href = 'https://betta.com';
    }, 2000);
    Ответ написан
  • Метод это функция или свойство?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    По сути в javascript не было никаких "методов" изначально. Только объекты, функции и свойства объектов. Слово "метод" пришло из других языков, где методы - отдельная сущность. Потому в javascript методом называется то, что выглядит как метод, не более.)
    Ответ написан
    Комментировать
  • В чем отличия модуля firebase от firebase-admin в nodejs?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Открываешь страничку модуля и читаешь:
    firebase:
    This SDK is intended for end-user client access from environments such as the Web, mobile Web (e.g. React Native, Ionic), Node.js desktop (e.g. Electron), or IoT devices running Node.js. If you are instead interested in using a Node.js SDK which grants you admin access from a privileged environment (like a server), you should use the Firebase Admin Node.js SDK.

    firebase-admin:
    The Firebase Admin Node.js SDK enables access to Firebase services from privileged environments (such as servers or cloud) in Node.js.

    Короче: первое для клиента, второе для сервера.

    Учись сам искать инфу, ты не сможешь вечно на каждый чих спрашивать тут.
    (Нет, не сможешь. Точно не сможешь. Инфа 100%)
    Ответ написан
    Комментировать
  • Как найти и заменить значение вложенного объекта?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Рекурсивно, вестимо.

    Если ещё и нужно клонировать объект не изменяя исходный(сужу по коду), то можно совместить приятное с полезным:
    const newData = JSON.parse(
      JSON.stringify(data), 
      (key, value) => key === 'value' ? 'new value' : value
    );

    P.S. Это сработает, только если объект - преобразуемый в json(не содержит истансов каких-либо классов, функций и т.п.).
    Ответ написан
    4 комментария
  • Непонятный символ в URL?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Никак. Он не закодирован. Либо там какой-то юникод символ, который не поддерживается текущим шрифтом - тогда решение переключиться на шрифт с полноценной поддержкой юникода(хотяб arial), либо там на сервере какая-то лажа и в имена файлов сыплется мусор. Ну либо это какое-то ноу-хау инсты для каких-то гнусных целей.
    В любом случае если ссылки работают - значит такими они и должны быть.

    P.S. Еслиб ты тут не скрины, а текст дал - было бы яснее.
    Ответ написан
    8 комментариев
  • Как делать post и get запросы с https на http?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Правильное решение: получить и установить таки серитиикат для своего сервера. С lets encript это быстро и бесплатно.

    Костыль: поставить на сайте:
    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
    По сути это хак, т.к. основное предназначение этого заголовка - заставить всё работать через https, но если браузер не получает ответа по https порту - он разрешает работу по http.
    Ответ написан
    1 комментарий
  • Как отправить ajax запросы асинхронно?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Не это фигня, если в скрипте внутри ваших testFunc нет никакого механизма очереди, то браузер запускает всё запросы сразу. Однако в самом браузере есть внутренние ограничения на количество одновременных запросов: 2-8 на домен в зависимости от браузера (+может быть настроено), если запросов больше - они ставятся в очередь и могут отвалиться по таймауту.
    Если ваш сервер задерживает ответ, то это только его дело - в браузере все что запущены висят и ждут ответа.
    Ответ написан
    Комментировать
  • CORS ,как открыть файл на GitHub?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Никак. По крайней мере без вмешательства в потроха браузера с помощью какого-нить расширения.
    Запускайте локальный сервер или пакуйте в обычный скрипт какой-либо системой сборки.
    Ответ написан
    Комментировать