Задать вопрос
  • Как сделать проверку на Undefined?

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

    Aetae
    @Aetae
    Тлен
    Обычный каскад:
    .variants__text.active > .check {
        /* стили перезаписывающие стандартные */
    }
    Ответ написан
    1 комментарий
  • Почему выпадает undefined в коде?

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

    Aetae
    @Aetae
    Тлен
    Погуглил за вас: тут был конкурс на ЭКГ и в ответах там есть разные версии, выбирайте какая по нраву.)
    Например:
    Ответ написан
    Комментировать
  • Как сделать редирект на 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);
    Ответ написан
  • Можно ли добавить в phpstorm поддержку синтаксиса jinja2?

    Aetae
    @Aetae
    Тлен
    По конкретной теме не знаю, но знаю что из одного продукта jetbrains в теории можно из потрохов вытащить плагин-компонент и впердюрить в другой.)

    В любом случае конкретно подсветку и пару фич на минималках всегда можно добавить с помощью бандла TextMate.
    Ответ написан
    Комментировать
  • Метод это функция или свойство?

    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 комментария
  • Вставить в html iframe как текст?

    Aetae
    @Aetae
    Тлен
    Экранировать управляющие символы, очевидно:
    &lt;iframe width="560" height="315" src="https://www.youtube.com/embed/W3q8Od5qJio" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>&lt;/iframe>
    Ответ написан
    Комментировать
  • Непонятный символ в 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 на домен в зависимости от браузера (+может быть настроено), если запросов больше - они ставятся в очередь и могут отвалиться по таймауту.
    Если ваш сервер задерживает ответ, то это только его дело - в браузере все что запущены висят и ждут ответа.
    Ответ написан
    Комментировать
  • Как сделать на CSS c linear-gradient фон с мозаикой из черных маленьких квадратиков?

    Aetae
    @Aetae
    Тлен
    На практике градиенты на таких маленьких величинах(<10px) крайне не надёжны и неконсистенты, их поведение рандомно разнится от браузера к браузеру и от системы к системе: то хром всё заблюрит, то фокс, то пикселизация вылезет...
    Рекомендую использовать оптимизированное .png, (размером не меньше сотни пикселей, а не одним квадратиком, чтоб не грузить рендер почём зря) и вставленное как data: uri для скорости.
    Ответ написан
  • Как массово инициализировать dropdown в vue?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    Тупой вариант: как в циклом выводите, так в цикле инициализируйте(при v-for в this.$refs.dropdow лежит массив).
    Правильный вариант: сделать отдельный компонент m-dropdown, который внутри проводит всю нужную инициализацию и расставляет нужную вёрстку, после чего подключать циклом именно этот компонент.
    Идеальный вариант: использовать либы написанные на vue, дабы избежать лишнего оверхеда.
    Ответ написан
    Комментировать
  • Как создать новый элемент при событии на vue.js?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    В Vue все элементы должны быть заранее предусмотрены и подготовлены на своих местах.
    А дальше просто меняешь значение флага используемого в v-if/v-show или добавляешь в массив использованный в v-for. Никакой работы с элементами - вся работ только с данными.
    Ответ написан
    Комментировать
  • Можно ли отключить абсолютные пути в tsconfig или tslint?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    Tslint: import-blacklist.
    "import-blacklist": [true, ["^src/.*"]]

    Eslint: no-restricted-imports.
    "no-restricted-imports": ["error", {"patterns": ["src/*"]}]
    Ответ написан
  • CORS ,как открыть файл на GitHub?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Никак. По крайней мере без вмешательства в потроха браузера с помощью какого-нить расширения.
    Запускайте локальный сервер или пакуйте в обычный скрипт какой-либо системой сборки.
    Ответ написан
    Комментировать
  • Как понять конструкцию Function.prototype.call.bind(unboundSlice)?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Для call this и должен быть всегда функцией. Это какбэ очевидно из Function.prototype.call: что значит call - встроенный метод любой функции.

    Обычно всё непонимание идёт от приписывания this каких-то мистических свойств, в то время как this - простая ссылка, отличающаяся от любой иной переменной только тем, что принимает значение в зависимости от способа вызова и больше ничем.

    Ничто не мешает иметь в this функцию:
    function foo(num){
      return num
    }
    function bar(num){
      return this(num);
    };
    console.log(bar.bind(foo)(99)) // 99


    выглядит примерно так . .
    Function.prototype.bind = function(contextObject){
            let funkToBind = this,
                 args = Array.prototype.slice.call(arguments,1)
            return funkToBind.apply( contextObject , args.concat(Array.prototype.slice.call( arguments )))
    } // упращение, сущности данной функции

    Не так, а скорее так(но тут не учитывается прототип):
    Function.prototype.bind = function(contextObject){
      let funkToBind = this,
          args = Array.prototype.slice.call(arguments,1)
      return function() {
    		return funkToBind.apply( contextObject , args.concat(Array.prototype.slice.call( arguments )))
      }
    }
    Ответ написан
    2 комментария
  • Почему не видит переменную в консоле?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Очевидно потому что webpack пакует модули внутри себя, так чтобы как можно меньше "мусорить" в глобал. Если вам нужно для целей отладки пошарить что-то в глобальную область - делайте это явно, через window.modal = ....
    В подакшн версии это уже, само собой, неприемлемо.
    Ответ написан
    Комментировать