{"users":[{"id":1,"username":"dmitry","avatar_template":"/user_avatar/forum.jscourse.com/dmitry/{size}/1664_2.png","admin":true,"moderator":true,"trust_level":4},{"id":711,"username":"Alessio18911","avatar_template":"/user_avatar/forum.jscourse.com/alessio18911/{size}/1071_2.png","trust_level":2},{"id":1460,"username":"max97","avatar_template":"/letter_avatar_proxy/v4/letter/m/65b543/{size}.png","trust_level":0},{"id":1336,"username":"Alex_March","avatar_template":"/user_avatar/forum.jscourse.com/alex_march/{size}/1577_2.png","trust_level":2},{"id":338,"username":"eimrine","avatar_template":"/user_avatar/forum.jscourse.com/eimrine/{size}/159_2.png","trust_level":2},{"id":1428,"username":"Vitalysan","avatar_template":"/letter_avatar_proxy/v4/letter/v/3be4f8/{size}.png","trust_level":0},{"id":395,"username":"Dubovskiy","avatar_template":"/user_avatar/forum.jscourse.com/dubovskiy/{size}/1386_2.png","trust_level":2},{"id":956,"username":"alex.z","avatar_template":"/user_avatar/forum.jscourse.com/alex.z/{size}/1744_2.png","trust_level":1},{"id":625,"username":"B-R-G","avatar_template":"/user_avatar/forum.jscourse.com/b-r-g/{size}/685_2.png","trust_level":1},{"id":1429,"username":"cupoma58","avatar_template":"/user_avatar/forum.jscourse.com/cupoma58/{size}/1739_2.png","trust_level":0},{"id":1420,"username":"Vanya_228","avatar_template":"/user_avatar/forum.jscourse.com/vanya_228/{size}/1702_2.png","trust_level":1},{"id":1437,"username":"Murfi75","avatar_template":"/letter_avatar_proxy/v4/letter/m/b5ac83/{size}.png","trust_level":0},{"id":186,"username":"andy_gold","avatar_template":"/user_avatar/forum.jscourse.com/andy_gold/{size}/74_2.png","trust_level":2},{"id":61,"username":"bret","avatar_template":"/user_avatar/forum.jscourse.com/bret/{size}/1057_2.png","trust_level":2},{"id":1432,"username":"seibtoy","avatar_template":"/letter_avatar_proxy/v4/letter/s/e99b99/{size}.png","trust_level":0},{"id":1392,"username":"mgab","avatar_template":"/letter_avatar_proxy/v4/letter/m/b9bd4f/{size}.png","trust_level":0},{"id":1407,"username":"ban_ob","avatar_template":"/user_avatar/forum.jscourse.com/ban_ob/{size}/1686_2.png","trust_level":0},{"id":1427,"username":"DrivingCar","avatar_template":"/user_avatar/forum.jscourse.com/drivingcar/{size}/1724_2.png","trust_level":0},{"id":9,"username":"ogorobets","avatar_template":"/user_avatar/forum.jscourse.com/ogorobets/{size}/1344_2.png","trust_level":2},{"id":1410,"username":"NotFunny_Joke","avatar_template":"/user_avatar/forum.jscourse.com/notfunny_joke/{size}/1691_2.png","trust_level":0},{"id":1415,"username":"kevincalori","avatar_template":"/user_avatar/forum.jscourse.com/kevincalori/{size}/1696_2.png","trust_level":0}],"primary_groups":[],"flair_groups":[],"topic_list":{"can_create_topic":false,"more_topics_url":"/c/questions-and-answers/12?page=1","per_page":30,"top_tags":[{"id":8,"name":"react","slug":"react"},{"id":7,"name":"angular","slug":"angular"},{"id":12,"name":"threejs","slug":"threejs"}],"topics":[{"fancy_title":"Про категорию &quot;Вопрос-ответ&quot;","id":2604,"title":"Про категорию \"Вопрос-ответ\"","slug":"topic","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2019-04-19T09:59:26.677Z","last_posted_at":null,"bumped":true,"bumped_at":"2019-04-19T19:32:26.169Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Эта категория для вопросов, на которые как кажется можно дать однозначный ответ.","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":625,"like_count":0,"has_summary":false,"last_poster_username":"dmitry","category_id":12,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"VueJs передача аргумента инлайново","id":3422,"title":"VueJs передача аргумента инлайново","slug":"vuejs-peredacha-argumenta-inlajnovo","posts_count":3,"reply_count":1,"highest_post_number":3,"image_url":null,"created_at":"2025-10-31T22:02:48.547Z","last_posted_at":"2025-11-03T15:29:59.691Z","bumped":true,"bumped_at":"2025-11-03T15:29:59.691Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Привет! Есть простейший кусок кода Vue3: \n&lt;script setup&gt;\nimport { reactive, ref } from &#39;vue&#39;\n\nconst isActive = ref(false)\n\nfunction toggle(state) {\n  state.value = !state.value\n}\n&lt;/script&gt;\n\n&lt;template&gt;\n  &lt;button @click=&quot;t&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":38,"like_count":1,"has_summary":false,"last_poster_username":"Alessio18911","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор, Принятый ответ","user_id":711,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Обработчик paste блокирует изменение DOM","id":3421,"title":"Обработчик paste блокирует изменение DOM","slug":"obrabotchik-paste-blokiruet-izmenenie-dom","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-10-17T15:48:12.314Z","last_posted_at":"2025-10-18T09:06:21.261Z","bumped":true,"bumped_at":"2025-10-18T09:06:21.261Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Уважаемый коллективный разум!Очень нужна помощь в решении такой задачи. Есть обработчик вставки табличных данных из буфера обмена в веб-таблицу, производящий некоторые расчеты. Это может занимать ощутимое время для больш&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":36,"like_count":0,"has_summary":false,"last_poster_username":"dmitry","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":1460,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":711,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Intersection Observer + Service Worker + Cache API","id":3412,"title":"Intersection Observer + Service Worker + Cache API","slug":"intersection-observer-service-worker-cache-api","posts_count":3,"reply_count":1,"highest_post_number":3,"image_url":null,"created_at":"2025-07-26T09:10:07.045Z","last_posted_at":"2025-07-28T12:20:14.420Z","bumped":true,"bumped_at":"2025-07-28T12:28:02.471Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Привет! У меня на сайте основная страница имеет много JS кода. Для оптимизации загрузки я сделал загрузку скриптов интерактивной географической карты через Intersection Observer: \nconst sectionMap = document.querySelecto&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":49,"like_count":3,"has_summary":false,"last_poster_username":"Alessio18911","category_id":9,"op_like_count":1,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":711,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":1336,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Помогите прочитать HTML-страницу/веб-сайт","id":3410,"title":"Помогите прочитать HTML-страницу/веб-сайт","slug":"pomogite-prochitat-html-straniczu-veb-sajt","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":"https://forum.jscourse.com/uploads/default/original/2X/9/9f0fc7b9ef29ab923d3d5706da3b3087d10b1e5a.png","created_at":"2025-06-21T12:04:57.478Z","last_posted_at":"2025-06-21T16:35:22.470Z","bumped":true,"bumped_at":"2025-06-21T17:09:53.110Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"[Music From Outer Space - Your Synth-DIY Headquarters](https://Вот страница на интересующую меня тему.) \nДля меня она выглядит вот так (ФФ 115 со сломанной возможностью использовать любые плагины) \n  \nЯ безуспешно пробов&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":22,"like_count":0,"has_summary":false,"last_poster_username":"dmitry","category_id":12,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":338,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Помогите разобраться в коде [как организовать убывающий таймер на время посещения]","id":3408,"title":"Помогите разобраться в коде [как организовать убывающий таймер на время посещения]","slug":"pomogite-razobratsya-v-kode-kak-organizovat-ubyvayushhij-tajmer-na-vremya-poseshheniya","posts_count":3,"reply_count":1,"highest_post_number":3,"image_url":null,"created_at":"2025-05-31T13:39:25.467Z","last_posted_at":"2025-06-02T09:27:46.999Z","bumped":true,"bumped_at":"2025-06-02T09:27:46.999Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"&lt;style&gt;\n #timer {\n font-size: 1em;\n align: center;\nfont-weight: bold;\n }\n #gbsbm {\n display: none;\n }\n &lt;/style&gt;\n &lt;div align=&quot;center&quot; id=&quot;timer&quot;&gt;&lt;/div&gt;\n&lt;script&gt;\n function checkTimer() {\n const timerElement = document.getE&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":41,"like_count":1,"has_summary":false,"last_poster_username":"Vitalysan","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор, Принятый ответ","user_id":1428,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"При сборке в production падает Webpack","id":3409,"title":"При сборке в production падает Webpack","slug":"pri-sborke-v-production-padaet-webpack","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":"https://forum.jscourse.com/uploads/default/original/2X/a/a46b8f4b3aff130231531d728dff664e18390a2b.jpeg","created_at":"2025-05-31T14:57:33.008Z","last_posted_at":"2025-06-01T19:47:18.656Z","bumped":true,"bumped_at":"2025-06-01T19:47:18.656Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"У меня есть сборка Gulp + Webpack. Последний обрабатывает только js-скрипты через webpack-stream При запуске в dev mode всё собирается и работает хорошо. При попытке запуска в production падает задача именно по обработке&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":25,"like_count":2,"has_summary":false,"last_poster_username":"Alessio18911","category_id":14,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор, Принятый ответ","user_id":711,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Как сделать, чтобы при уменьшении размеров контейнера объект пропорционально увеличивался","id":3407,"title":"Как сделать, чтобы при уменьшении размеров контейнера объект пропорционально увеличивался","slug":"kak-sdelat-chtoby-pri-umenshenii-razmerov-kontejnera-obekt-proporczionalno-uvelichivalsya","posts_count":5,"reply_count":3,"highest_post_number":5,"image_url":null,"created_at":"2025-05-30T20:42:31.264Z","last_posted_at":"2025-06-01T18:22:48.304Z","bumped":true,"bumped_at":"2025-06-01T18:22:48.304Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Привет! Дизайнер придумал макет, на котором на десктопе ряд объектов и шрифтов маленькие, а на мобильном - крупные. Мне не хотелось бы писать кучу медиазапросов, но функции типа clamp() или % сюда не подходят: они работа&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":37,"like_count":3,"has_summary":false,"last_poster_username":"Alessio18911","category_id":13,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":711,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор, Принятый ответ","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Таймер для посетителей на JS [setInterval не срабатывает в неактивной вкладке как ожидается]","id":3406,"title":"Таймер для посетителей на JS [setInterval не срабатывает в неактивной вкладке как ожидается]","slug":"tajmer-dlya-posetitelej-na-js-setinterval-ne-srabatyvaet-v-neaktivnoj-vkladke-kak-ozhidaetsya","posts_count":8,"reply_count":5,"highest_post_number":8,"image_url":null,"created_at":"2025-05-30T07:11:03.833Z","last_posted_at":"2025-05-31T13:25:50.841Z","bumped":true,"bumped_at":"2025-05-31T13:25:50.841Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Задача: при входе на сайт, должен появиться таймер (на JS), отчитывающий обратное время, по истечение которого можно будет нажать на определённую кнопку. Пока посетитель находится на одном document.domain, счётчик не сбр&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":63,"like_count":0,"has_summary":false,"last_poster_username":"Vitalysan","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор, Принятый ответ","user_id":1428,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":395,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Ошибка при подключении модуля js [... was blocked because of a disallowed MIME type (“text/html”)]","id":3403,"title":"Ошибка при подключении модуля js [... was blocked because of a disallowed MIME type (“text/html”)]","slug":"oshibka-pri-podklyuchenii-modulya-js-was-blocked-because-of-a-disallowed-mime-type-text-html","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2025-05-19T19:41:10.805Z","last_posted_at":"2025-05-20T07:16:51.793Z","bumped":true,"bumped_at":"2025-05-20T07:16:51.793Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Приветствую. \nПри загрузке скриптов js модульного типа \nimport {TrackballControls} from &quot;./jsm1/controls/TrackballControls.js&quot;; \nв консоли возникает ошибка: \nLoading module from “...   ./jsm1/controls/TrackballControls.j&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":97,"like_count":0,"has_summary":false,"last_poster_username":"dmitry","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":956,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор, Принятый ответ","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Npm install fails on Windows 10: ENOENT 4058 [solved: update npm]","id":2043,"title":"Npm install fails on Windows 10: ENOENT 4058 [solved: update npm]","slug":"npm-install-fails-on-windows-10-enoent-4058-solved-update-npm","posts_count":14,"reply_count":12,"highest_post_number":14,"image_url":"https://forum.jscourse.com/uploads/default/optimized/1X/99b0fa9e5963a2ea3acc5af1a8f05574561b2ff9_2_1024x555.png","created_at":"2018-03-23T13:44:42.486Z","last_posted_at":"2018-03-23T15:59:57.830Z","bumped":true,"bumped_at":"2025-02-26T01:57:07.664Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"[1]\nХочу научиться пользоваться gulp+scss для верстки сайтов,( джаваскрипт я не знаю, но я выучу!!! ). \nНашел руководство от webdesign master, посчитал самым интересным и понятным. \nGulp для самых маленьких - руководств&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":5223,"like_count":4,"has_summary":false,"last_poster_username":"B-R-G","category_id":14,"op_like_count":1,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":625,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"JS: массив видео-кадров mp4-файла","id":3398,"title":"JS: массив видео-кадров mp4-файла","slug":"js-massiv-video-kadrov-mp4-fajla","posts_count":7,"reply_count":2,"highest_post_number":7,"image_url":null,"created_at":"2025-02-12T14:31:52.649Z","last_posted_at":"2025-02-25T17:28:01.355Z","bumped":true,"bumped_at":"2025-02-25T17:28:01.355Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Привет. Есть рабочий плеер, на базе &lt;video&gt;. При click, по прогресс-бару (pb), на мониторе возникает изображение-кадр, примерно - соответствующее выбранному (choos) моменту времени: \npb.addEventListener(&#39;click&#39;, (e) =&gt; {&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":65,"like_count":0,"has_summary":false,"last_poster_username":"dmitry","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":1429,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Проблема с отправлением стилей в ответ на Get-запрос","id":3399,"title":"Проблема с отправлением стилей в ответ на Get-запрос","slug":"problema-s-otpravleniem-stilej-v-otvet-na-get-zapros","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2025-02-16T16:59:47.449Z","last_posted_at":"2025-02-17T10:03:20.410Z","bumped":true,"bumped_at":"2025-02-17T10:03:20.410Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Давненько я ничего не писал в этот форум😁. \nВ общем суть проблемы такая: \n\nзахожу на локальный сервер написаный на node.js соответственно получаю сайт, есть все, html, css &amp; js файлы и все грамотно разложено.\nс помощью ф&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":29,"like_count":0,"has_summary":false,"last_poster_username":"dmitry","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":1420,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Не подключается index.js на api к index.html на сайте","id":3396,"title":"Не подключается index.js на api к index.html на сайте","slug":"ne-podklyuchaetsya-index-js-na-api-k-index-html-na-sajte","posts_count":17,"reply_count":15,"highest_post_number":19,"image_url":null,"created_at":"2024-12-25T16:37:58.675Z","last_posted_at":"2024-12-26T17:58:40.781Z","bumped":true,"bumped_at":"2024-12-26T17:58:40.781Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Помогите, я подключаю html к api, никак не работает","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":44,"like_count":0,"has_summary":false,"last_poster_username":"Vanya_228","category_id":14,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":1437,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":711,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":1420,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Логика проверки данных получаемых из ПИ и базы данных на сервере","id":3394,"title":"Логика проверки данных получаемых из ПИ и базы данных на сервере","slug":"logika-proverki-dannyh-poluchaemyh-iz-pi-i-bazy-dannyh-na-servere","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2024-12-21T13:35:33.263Z","last_posted_at":"2024-12-24T18:18:35.790Z","bumped":true,"bumped_at":"2024-12-24T18:18:35.790Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Здраствуйте, разрабатываю небольшой проект на Node.js, хотелось бы узнать чужое мнение насчет получения данных из базы данных и пользовательского интерфейса чтобы в дальнейшем проверять существуют ли такие данные. \nК при&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":31,"like_count":0,"has_summary":false,"last_poster_username":"Vanya_228","category_id":14,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":1420,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Поведение элемента с position absolute","id":848,"title":"Поведение элемента с position absolute","slug":"povedenie-elementa-s-position-absolute","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2015-02-13T21:29:35.692Z","last_posted_at":"2015-02-14T10:46:46.034Z","bumped":true,"bumped_at":"2024-12-16T08:55:37.490Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"http://jsfiddle.net/y8dbzcgm/ Собственно проблема в том, что при добавлении новых сообщений вниз, когда их величина достигает нижнего элемента input они проходят под ним тем самым растягивая родителя и поднимая вверх пан&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":993,"like_count":1,"has_summary":false,"last_poster_username":"andy_gold","category_id":13,"op_like_count":1,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":186,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":61,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"React Routing и статические ссылки","id":3388,"title":"React Routing и статические ссылки","slug":"react-routing-i-staticheskie-ssylki","posts_count":3,"reply_count":1,"highest_post_number":3,"image_url":null,"created_at":"2024-12-05T00:26:36.252Z","last_posted_at":"2024-12-05T22:06:23.055Z","bumped":true,"bumped_at":"2024-12-05T22:06:23.055Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Доброго времени суток. Столкнулся с проблемой, когда некорректно обрабатывается статическая ссылка ( в моей случае на изображение ) при вложенном роутинге . \nУ меня есть следующая структура роутинга. \n&lt;LoadingProvider&gt;\n &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":42,"like_count":0,"has_summary":false,"last_poster_username":"seibtoy","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":1432,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор, Принятый ответ","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Считывание содержимого объекта Canvas","id":3387,"title":"Считывание содержимого объекта Canvas","slug":"schityvanie-soderzhimogo-obekta-canvas","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2024-11-30T21:18:28.550Z","last_posted_at":"2024-12-01T16:32:15.499Z","bumped":true,"bumped_at":"2024-12-01T16:45:12.607Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Имеется интернет-страница с отображаемой схемой мест и текущим наличием мест на ней. При этом объект имеет тип Canvas. \nПодскажите, пожалуйста, как можно программно в Js считать эту схему и считать текущее наличие мест? &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":43,"like_count":0,"has_summary":false,"last_poster_username":"dmitry","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":1392,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Я начинающий js кодер","id":3348,"title":"Я начинающий js кодер","slug":"ya-nachinayushhij-js-koder","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2024-05-19T10:24:27.828Z","last_posted_at":"2024-05-28T07:04:07.279Z","bumped":true,"bumped_at":"2024-11-27T14:32:43.679Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Здраствуйте сделал кликер, но хотелось бы по другому чтобы при каждом нажатии на кнопку купить ( если достаточно средств) переменная i получала бы на 1 значение больше как настроить? вот код \n\n  \n    \n    \n    \n    клике&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":158,"like_count":0,"has_summary":false,"last_poster_username":"Alessio18911","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":1407,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":711,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Вертикальный прогресс-бар, направление прогресса","id":3382,"title":"Вертикальный прогресс-бар, направление прогресса","slug":"vertikalnyj-progress-bar-napravlenie-progressa","posts_count":8,"reply_count":3,"highest_post_number":8,"image_url":"https://forum.jscourse.com/uploads/default/original/2X/5/52adf9bfc825d53825a1d89c2dcab55119db56c1.png","created_at":"2024-11-17T10:08:18.037Z","last_posted_at":"2024-11-26T09:43:13.616Z","bumped":true,"bumped_at":"2024-11-26T10:01:21.551Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Есть рабочий видео-плеер, для сайта, с вертикальными прогрессом воспроизведения и звука: \nprogresBar.addEventListener(&#39;click&#39;, (e) =&gt; { \n    var mouseY = e.offsetY;\n    progres.style.height = (mouseY * 100) / progresBar.&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":121,"like_count":1,"has_summary":false,"last_poster_username":"dmitry","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор, Принятый ответ","user_id":1429,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Ошибка сервера [Error: listen EADDRINUSE: address already in use :::3000]","id":3385,"title":"Ошибка сервера [Error: listen EADDRINUSE: address already in use :::3000]","slug":"oshibka-servera-error-listen-eaddrinuse-address-already-in-use-3000","posts_count":8,"reply_count":6,"highest_post_number":8,"image_url":null,"created_at":"2024-11-18T12:18:45.380Z","last_posted_at":"2024-11-19T12:07:17.270Z","bumped":true,"bumped_at":"2024-11-19T12:07:17.270Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"node:events:497\n      throw er; // Unhandled &#39;error&#39; event\n      ^\n\nError: listen EADDRINUSE: address already in use :::3000\n    at Server.setupListenHandle [as _listen2] (node:net:1904:16)\n    at listenInCluster (node:n&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":372,"like_count":0,"has_summary":false,"last_poster_username":"Vanya_228","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор, Принятый ответ","user_id":1420,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Gitignore","id":3381,"title":"Gitignore","slug":"gitignore","posts_count":4,"reply_count":2,"highest_post_number":4,"image_url":"https://forum.jscourse.com/uploads/default/original/2X/b/bcdcc883b97c9156adc5f242068bc04d7943e75f.png","created_at":"2024-11-08T11:24:14.416Z","last_posted_at":"2024-11-08T12:01:00.582Z","bumped":true,"bumped_at":"2024-11-08T12:01:00.582Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Здраствуйте, заметил проблему с использование гитигнора, я добавил папку с фреймворками в ингнор, но гит все равно хочет сохранить её. \nТа же проблема с json файлом.","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":24,"like_count":1,"has_summary":false,"last_poster_username":"dmitry","category_id":12,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":1420,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор, Принятый ответ","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Как получить данные по целям с Яндекс.Метрика? [через апи]","id":3380,"title":"Как получить данные по целям с Яндекс.Метрика? [через апи]","slug":"kak-poluchit-dannye-po-czelyam-s-yandeks-metrika-cherez-api","posts_count":5,"reply_count":2,"highest_post_number":5,"image_url":null,"created_at":"2024-11-07T09:06:37.472Z","last_posted_at":"2024-11-07T12:59:55.704Z","bumped":true,"bumped_at":"2024-11-07T12:59:55.704Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Приветствую всех! \nЗадача: получить данные по целям с Яндекс.Метрика. Просмотры, визиты можно вывести в виде информера. А вот по целям как создать запросы через reachGoal? \nИ так, чтобы общее количество выводить, а не за&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":276,"like_count":0,"has_summary":false,"last_poster_username":"Vitalysan","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":1428,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор, Принятый ответ","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Нужна помощь с Яндекс.Метрика [как инициализировать метрику динамически своей функцией?]","id":3379,"title":"Нужна помощь с Яндекс.Метрика [как инициализировать метрику динамически своей функцией?]","slug":"nuzhna-pomoshh-s-yandeks-metrika-kak-iniczializirovat-metriku-dinamicheski-svoej-funkcziej","posts_count":6,"reply_count":2,"highest_post_number":6,"image_url":null,"created_at":"2024-11-06T10:38:48.571Z","last_posted_at":"2024-11-07T11:23:44.947Z","bumped":true,"bumped_at":"2024-11-07T11:23:44.947Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Приветствую всех! \nЕсть 2 вопроса: \nКак из этого \n<details><summary>Спойлер</summary>(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||).push(arguments)}; \nm[i].l=1*new Date(); \nfor (var j = 0; j &lt; document.scripts.length; j++) {if &hellip;</details>","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":185,"like_count":2,"has_summary":false,"last_poster_username":"dmitry","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":1428,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор, Принятый ответ","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Загрузка файлов в массив [как сохранить пользовательский порядок выбора файлов]","id":3378,"title":"Загрузка файлов в массив [как сохранить пользовательский порядок выбора файлов]","slug":"zagruzka-fajlov-v-massiv-kak-sohranit-polzovatelskij-poryadok-vybora-fajlov","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2024-10-26T04:32:29.801Z","last_posted_at":"2024-10-27T05:20:07.168Z","bumped":true,"bumped_at":"2024-10-27T05:20:07.168Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Всем привет! У меня возник вопрос как сделать так чтобы файлы в массив добавлялись в том порядке в котором их выбрал пользователь а не от верхнего до нижнего. \nЕсть файлы: \n1 Картинка \n2 Zip \n3 Apk \n4 Видео \nПользователь&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":33,"like_count":0,"has_summary":false,"last_poster_username":"Dubovskiy","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":1427,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":395,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Здраствуйте! проблема с коммитами [как организовать первый коммит нового nodejs проекта]","id":3375,"title":"Здраствуйте! проблема с коммитами [как организовать первый коммит нового nodejs проекта]","slug":"zdrastvujte-problema-s-kommitami-kak-organizovat-pervyj-kommit-novogo-nodejs-proekta","posts_count":5,"reply_count":2,"highest_post_number":5,"image_url":"https://forum.jscourse.com/uploads/default/original/2X/1/1e6643628c92aa0e9222cf06d2d4656908e2a4da.png","created_at":"2024-10-23T15:32:13.003Z","last_posted_at":"2024-10-23T17:04:20.193Z","bumped":true,"bumped_at":"2024-10-23T17:09:38.231Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"сегодня утановил express js чтобы удобнее было работать с серверами и появилась така я вот проблема с комитами, 525 комита которых надо подтвердить)) как это все правильно закомитить я неуверен по этому спрашиваю здесь) \n&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":52,"like_count":5,"has_summary":false,"last_poster_username":"ogorobets","category_id":14,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":1420,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор, Принятый ответ","user_id":9,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":395,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"При переносе кода в Wordpress уродуется объект с float-ми css","id":3374,"title":"При переносе кода в Wordpress уродуется объект с float-ми css","slug":"pri-perenose-koda-v-wordpress-uroduetsya-obekt-s-float-mi-css","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":"https://forum.jscourse.com/uploads/default/optimized/2X/4/43be203a9ff541404f3b0b1ef9815ee92fb5a637_2_1024x622.jpeg","created_at":"2024-10-18T20:49:51.321Z","last_posted_at":"2024-10-18T22:18:25.884Z","bumped":true,"bumped_at":"2024-10-18T22:18:25.884Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Всем привет! Есть код, взятый на просторах интернета, полностью рабочий (можно скопировать и запустить на своём компьютере): \n&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n\n&lt;head&gt;\n  &lt;meta charset=&quot;UTF-8&quot;&gt;\n  &lt;meta name=&quot;viewport&quot; cont&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":27,"like_count":1,"has_summary":false,"last_poster_username":"Alessio18911","category_id":13,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор, Принятый ответ","user_id":711,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":61,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Запустится ли таймер после await в ES6 модуле?","id":3373,"title":"Запустится ли таймер после await в ES6 модуле?","slug":"zapustitsya-li-tajmer-posle-await-v-es6-module","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2024-10-16T20:56:53.411Z","last_posted_at":"2024-10-17T07:14:49.875Z","bumped":true,"bumped_at":"2024-10-17T07:14:49.875Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"У меня есть функция, которая делает fetch нужного документа: \n// ничего особенного, просто fetch и преобразование полученного json-а\nasync function fetchMelodyPassport(url) {\n  const response = await fetch(url);\n  const &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":33,"like_count":1,"has_summary":false,"last_poster_username":"dmitry","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":711,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Активация Mutation Observer при быстром скролле на мобильниках Андроид","id":3367,"title":"Активация Mutation Observer при быстром скролле на мобильниках Андроид","slug":"aktivacziya-mutation-observer-pri-bystrom-skrolle-na-mobilnikah-android","posts_count":18,"reply_count":9,"highest_post_number":18,"image_url":null,"created_at":"2024-10-09T08:36:43.373Z","last_posted_at":"2024-10-12T22:10:29.711Z","bumped":true,"bumped_at":"2024-10-16T20:49:31.809Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Всем привет! Уже запустили сайт, сейчас дорабатываем - Музыка – Чароўныя нажнiчкi \nНа этой странице есть слайдер. Реализован с помощью 3D Materializecss библиотеки и Mutation Observer API. \nМеханизм работы такой: при пер&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":77,"like_count":3,"has_summary":false,"last_poster_username":"Alessio18911","category_id":9,"op_like_count":0,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор, Принятый ответ","user_id":711,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Как разблокировать input на странице через F12","id":3355,"title":"Как разблокировать input на странице через F12","slug":"kak-razblokirovat-input-na-stranicze-cherez-f12","posts_count":10,"reply_count":10,"highest_post_number":11,"image_url":null,"created_at":"2024-06-24T20:30:32.830Z","last_posted_at":"2024-07-24T08:26:30.686Z","bumped":true,"bumped_at":"2024-10-14T09:48:32.937Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Мне нужно разблокировать input на сайте chat.lmsys.org. Суть заключается в том, что на этом сайте в разделе оценок моделей после того как отправил свое сообщение и например нажал на кнопку “Tie” (типо обе модели хороши).&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"tags":[],"tags_descriptions":{},"views":368,"like_count":3,"has_summary":false,"last_poster_username":"dmitry","category_id":9,"op_like_count":2,"pinned_globally":false,"featured_link":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":1410,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор, Принятый ответ","user_id":1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":1415,"primary_group_id":null,"flair_group_id":null}]}]}}