Задать вопрос
Ответы пользователя по тегу JavaScript
  • Как оптимизировать загрузку и парсинг больших JS файлов со стороны браузера/клиента?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    1. Установить NodeJS
    2. Установить MongoDB
    3. Установить Mongoose или любую другую ORM
    4. Написать простейшие контроллёры для вашего API
    5. Запустить сервис на VPS и использовать для ваших задач
    Ответ написан
    Комментировать
  • Как правильнее переписать id's в формах?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Id должен быть уникальным и единственным во всём документе: https://htmlbook.ru/html/attr/id
    Поэтому, если нужны идентификаторы элементам - то следует каждому элементу назначить свой уникальный. А вот имена элементов формы могут повторяться. Элементы в форме в JS скрипте можно найти по любому атрибуту. Обычно используются имена или классы. Какой именно использовать цикл в коде значения не имеет.
    Ответ написан
    Комментировать
  • Как работать с минифицированным JS?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Никак. С кодом после минификации не надо никак работать. Минифицированный код предназначен для доставки его по сети максимально быстро на клиент. Для изменения кода вам следует вносить изменения в исходный код и уже только потом его минифицировать, а не наоборот. Если исходного кода нет - то пропускаете через любой деобфускатор и вручную восстанавливаете исходный код. Ну или пишете сами с нуля то же самое.
    Ответ написан
    2 комментария
  • Действительно ли скрипт на этом сайте не работает?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Да, проблема в скрипте по этой ссылке:
    https://tetherscript.onfastspring.com/popup-controlmynikon/builder

    В России он недоступен. В других регионах он доступен и кнопки на сайте работают.

    Но при включенном VPN тоже никаких окон не открывается.

    Возможно ваш VPN тоже заблокирован либо ещё какой косяк. Либо пробуйте полностью перезагрузить страницу/браузер либо ищите другой впн.
    Ответ написан
    Комментировать
  • Какой посоветуете учебник/книгу JavaScript?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Как устранить ошибку Cannot set properties of null (setting 'innerHTML') в JS&?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    RTFM: Document -> document.getElementById()
    ссылка на объект типа Element соответствующий указанному ID или null, если элемент с указанным ID не найден в документе.
    Ответ написан
    Комментировать
  • Как одновременно использовать npm_module на macOS и windows?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    В общем случае - никак. Нельзя использовать идентичные бинарные и платформенно-зависмые модули на разных платформах. Во время установки ставится версия модуля для текущей платформы. Версии для других платформ не устанавливаются. Некоторые бинарные модули даже собираются на месте с использованием доступных компиляторов. Так же есть модули, которые используют системные API вызовы и тоже устанавливаются версии в соответствии с системой и платформой. Конечно, многие модули написаны на чистом JS и не зависят от платформы - вот такие модули можно устанавливать на одной платформе и переносить на другую. Но, у них могут быть зависимости, которые зависят от платформы. Поэтому у вас только один путь - виртуализация.
    1. Установить VirtualBox или UtmApp
    2. Установить х86-64 винду в виде виртуальной машины
    3. Устанавливать модули внутри винды и результат переносить на целевую машину (есть вероятность, что что-то будет не работать из-за симлинков или устанавливаемых системных зависимостей - тут только по ситуации вручную всё ставить и настраивать)
    Ответ написан
    1 комментарий
  • Почему функции по смещению свойств объектов работают только с объектами, у которых свойства состоят из букв?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Потому что в стандарте JS порядок свойств в объекте не гарантирован. Т.е., там может быть абсолютно любой порядок. Так что ваша функция бессмысленна. Если вам нужна сортировка - используйте массивы.
    Ответ написан
    4 комментария
  • Есть ли какой-нибудь заменитель pattern matching в Javascript/ECMAScript?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Если хочется больше синтаксического сахара и читабельности - посмотрите в сторону CoffeeScript.
    Ответ написан
    2 комментария
  • Как сделать "прилегание" элементов к друг другу?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Медведь? Измеряется длина пальцев медведя в пикселях и ему устанавливается смещение относительно целевого элемента на данное число пикселей. Либо в минус от ближайшей границы либо в плюс от дальней - тут как удобнее и зависит от других особенностей вёрстки. Ну или ещё какой вариант можно придумать. Плюс в данном случае изображение медведя с прозрачностью и на один пиксель с полупрозрачностью заходит на целевую картинку.
    Ответ написан
    2 комментария
  • Как нарисовать интерактивную схему?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Каким методом наиболее правильно сделать подобное? Интересует именно идея, реализовать сам смогу.

    Правильнее по каким именно критериям? Если же смотреть на проблему глобально и в целом с точки зрения эффективности разработки, то проще всего сделать следующее:
    1. В любом векторном редакторе сделать рисунок или схему зала (да хоть в фигме или в том же диаграмс.нет)
    2. Выдать креслам номера/ID/классы
    3. Экспортировать в SVG
    4. Добавить на странцу в виде стандартного SVG элемента
    5. Добавить стили для кресел "свободно/занято/выбрано/выбирается" и т.п.
    6. На странице в JS повесить простые обработчики на события креслам
    7. Profit

    Минимум усилий - максимум результата. Canvas тут не нужен. Только если у вас есть под рукой либа 2D/3D графики, которую вы отлично знаете и вам на ней сделать то же самое будет как два байте переслать - то кто же против-то? Тогда да, можно использовать Canvas и прочее.
    Ответ написан
    4 комментария
  • Как отображать только один из одинаковых div с id="x" предыдущий развернутый сворачивать?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    https://htmlbook.ru/html/attr/id
    Задает стилевой идентификатор — уникальное имя элемента, которое используется для изменения его стиля и обращения к нему через скрипты. Идентификатор в коде документа должен быть в единственном экземпляре, иными словами, встречаться только один раз.

    Т.е. в вашем случае следует исправить неверно присвоенные идентификаторы и обращаться к каждому элементу по его уникальному идентификатору. В случае, если же надо обращаться к группе элементов следует присвоить этой группе элементов одинаковый класс и обращаться к группе по этому классу.
    Касательно вопроса обращения к предыдущему элементу - для этого существуют переменные. Т.е., присваиваете переменной текущий элемент, а при следующей итерации обращаетесь к элементу через эту переменную.
    Ответ написан
  • Как по клику скопировать текст из div (не textarea) в textarea?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Используйте пользовательский скрипт - расширение для браузеров типа temper monkey и уже с ним. Если речь о вашем сайте - то в коде страницы добавить нужный скрипт.
    Ответ написан
    Комментировать
  • Какой фреймворк подойдет для задачи редактирования онлайн таблчки?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Взять готовое опен-сорс решение и запустить на своём сервере. Например:
    Ответ написан
    Комментировать
  • Почему массив с undefined не работает с методом map?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    В первой же ссылке в гугле: https://stackoverflow.com/questions/60346825/why-d...
    With map, it is possible to say: "As you step through the array, if you encounter an index that has no property, leave that property similarly unset in the output array." For all existing properties, output indices will still correspond to their input indices, and the missing properties are skipped in both the input and output.

    Array.prototype.map
    Repeat, while k < len
    
            Let Pk be ! ToString(k).
            Let kPresent be ? HasProperty(O, Pk).
            If kPresent is true, then
                Let kValue be ? Get(O, Pk).
                Let mappedValue be ? Call(callbackfn, T, « kValue, k, O »).
                Perform ? CreateDataPropertyOrThrow(A, Pk, mappedValue).
            Increase k by 1.

    Т.е. map() пропускает пустые, не инициализированные значения в массиве. Так что просто используйте метод fill().
    Ответ написан
  • Как создать таблицу?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Использовать стандартный тег таблицы, который и предназначен для создания таблиц: https://htmlbook.ru/html/TABLE
    Ответ написан
    Комментировать
  • Как подключить NPM-библиотеку web-audio-beat-detector к html-css-js проекту?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    package.json -> scripts -> build
    Думаю тут уже и так всё понятно же, да?
    Ответ написан
  • Как перетаскивать элемент мышкой, но чтобы следовал за мышкой именно той областью на которой был клик?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Вычислить разницу между координатами клика и позицией элемента, а во время движения мышки отнять её от текущей позиции курсора.
    Ответ написан
  • JavaScript не находит первый элемент и дальше не идет, как исправить?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Выполнять код только на тех страницах, где есть эти кнопки.
    Ответ написан
  • Как остановить весь скрипт js при выполнении условия tampermonkey?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    RTFM: setInterval
    Ответ написан
    Комментировать