Тёмный
Дмитрий Трепачёв
Дмитрий Трепачёв
Дмитрий Трепачёв
Подписаться
Комментарии
@saadatsuleymanova8240
@saadatsuleymanova8240 День назад
Спасибо!!!
@Konotopskaya
@Konotopskaya 3 дня назад
Доступное объяснение решения этого аккордеона. Здесь не имеет значения что мы будем использовать для перебора массива ForEach или For Of ?
@fasciabeautyhealth3623
@fasciabeautyhealth3623 3 дня назад
Самое понятное видео! Ты перенаправляешь не существующие директории а если директория существует он тоже перенаправит?, просто у меня если директория существует он идёт в эту директорию
@juliadmitrivna1219
@juliadmitrivna1219 5 дней назад
Вот это намудрил, так намудрил. Взрыв мозга от переделок и переписывания кода. Согласна с предыдущим комментатором, что легко исключительно для автора.
@user-fk3bi7it9t
@user-fk3bi7it9t 16 дней назад
Долго ничего не работало... Не сразу догнал, что этот эффект применяется к целевому объекту, а не к перетаскиваемому))
@user-fk3bi7it9t
@user-fk3bi7it9t 16 дней назад
Можно ещё не в прямо в разметке писать каждому элементу панели draggable="true", а уже в цикле задать этот параметр: elem.draggable = "true";
@juliadmitrivna1219
@juliadmitrivna1219 21 день назад
А вы не могли бы оставить ссылочку по редактированию текста в инпуте?
@user-qh9ok1il4h
@user-qh9ok1il4h Месяц назад
Вы самый лучший. Низкий поклон вам за вашу работу.
@alexandraweather4156
@alexandraweather4156 Месяц назад
прикольно как получилось легко и непринужденно зацепить асинхронность) только у меня почему-то выдает сразу три результата вот такой вот код из урока (хотела просто проверить, поэтому вместо действия вывод в консоль): (async function() { await delay(3); console.log('hi'); async function delay(value) { return new Promise((resolve, reject) => { setTimeout(function() { console.log('end of delay'); resolve(); }, value * 1000); }) } })();
@alexandraweather4156
@alexandraweather4156 Месяц назад
обожаю ваш задачник! и этот курс тоже крутой
@alexandraweather4156
@alexandraweather4156 Месяц назад
круто!
@y5rdg
@y5rdg Месяц назад
Спасибо
@juliadmitrivna1219
@juliadmitrivna1219 Месяц назад
спасибо!
@user-xl8wn6ge2m
@user-xl8wn6ge2m Месяц назад
Хорошо что показали, как обрабатывать "Enter", но думаю в реале правильнее событие oninput, потому что ввод может быть и переводом фокуса например.
@user-dp7tf2sx7s
@user-dp7tf2sx7s Месяц назад
Дмитрий, добрый день! Как раз застрял на этом задании, и в уроке по нему нет никакого упоминания метода concat. Пожалуйста, откорректируйте на сайте!
@zurbagan2784
@zurbagan2784 Месяц назад
Спасибо тебе большое, добрый человек
@bikadV
@bikadV Месяц назад
Господи ну и чушь!
@npocTpuM
@npocTpuM Месяц назад
Заметил интересную особенность метода sort() . В старых роликах на ютубе и в старом браузере Мозила переменные a и b работают в другом порядке чем в новом Хром и VScode. a и b - поменялись местами и сортировка проходит за большее количество этапов, чем раньше))
@npocTpuM
@npocTpuM Месяц назад
Пересмотрел 5 видосов и даже на МДН не объяснили как идет сортировка. Только куча примеров, а то что попарно проверяется несколько циклов, нигде не нашел.
@user-tp8ui6gm2r
@user-tp8ui6gm2r 2 месяца назад
Дмитрий, Вы прожектор света в тёмном царстве ). Доступно, многогранно, толково... Всё скачал, на случай отключения ютуба.
@user-fk3bi7it9t
@user-fk3bi7it9t 2 месяца назад
А можно как-то простым способом изменить название файла, но оставить его расширение неизменным? Допустим, картинки могут быть разных форматов: jpg, png, gif и мы заранее не знаем, какое попадётся. Я понимаю, конечно, что можно сначала взять полное имя скачиваемого файла, отделить от него расширение(например, как часть после точки) и уже потом добавить это расширение к новому имени. Но может есть более быстрый способ?)) И второе: если картинка на другом домене находится, то может открыть её сначала в новой вкладке и уже оттуда спокойно скачать?
@aak9471
@aak9471 2 месяца назад
Спасибо за доступное объяснение!!!
@aak9471
@aak9471 2 месяца назад
Спасибо за подробное описание плюсов и минусов бэкэнд и фронтэнд парсинга!!!
@boris___britva
@boris___britva 2 месяца назад
а почему не привязаться к событию DOMContentLoaded, зачем гадать с задержкой?)
@user-zc1cv5ie1t
@user-zc1cv5ie1t 2 месяца назад
дело в том, что кроме dom, могут грузится еще всякие асинхронные штуки, например, ajax и DOMContentLoaded не будет панацеей поэтому мне удобнее делать эмпирическую задержку
@boris___britva
@boris___britva 2 месяца назад
поддержка)
@boris___britva
@boris___britva 2 месяца назад
в поддержку
@romanmegagunko4650
@romanmegagunko4650 2 месяца назад
Курс очень интересный) Столкнулся с одной проблемой. Открываю по клику (со своей локальной странички) ссылку ведущую на поисковик яндекс в новом окне, через юзер - скрипт. В поисковую строку вводится запрос, далее происходит клик по кнопке сабмит и открывается страница с результатами поиска, но в том же окне. Проблема в том, что не получается закрыть это окно посредством window.close(), в консоли браузера такой варнинг - "Сценарии не могут закрывать окна, открытые другими сценариями". Хотя консоль лог выполняется - if ( window.location.pathname.startsWith('/search/') ) { await delay(3); console.log('yandex worked'); window.close(); } Как исправить?
@romanmegagunko4650
@romanmegagunko4650 2 месяца назад
Яваскрипт сильно ухо режет) джаваскрипт же, нет?)
@user-zc1cv5ie1t
@user-zc1cv5ie1t 2 месяца назад
говорят и так, и так
@user-wf3fq8uo1s
@user-wf3fq8uo1s 2 месяца назад
Спасибо за видео!
@eg0ist_665
@eg0ist_665 2 месяца назад
а что за версия linux у тебя?
@user-zc1cv5ie1t
@user-zc1cv5ie1t 2 месяца назад
ubuntu 22.04
@eg0ist_665
@eg0ist_665 2 месяца назад
Спасибо за твою работу и крутую книгу по пхп)
@boris___britva
@boris___britva 2 месяца назад
+
@boris___britva
@boris___britva 2 месяца назад
в поддержку
@boris___britva
@boris___britva 2 месяца назад
для продвижения)
@NamelessG0D
@NamelessG0D 2 месяца назад
Наверное, единственный логичный вопрос, а на "зачем" подобное нужно, кроме раздражения пользователя? Единственное где подобное встречал, это открытие спама и переход на сторонние ресурсы по таймеру, такие сайты обычно сразу отправляются в бан и из-за подобных "сайтов" приходится использовать блокировщик скриптов NoScript, при загрузке, для экономии нервных клеток.
@user-zc1cv5ie1t
@user-zc1cv5ie1t 2 месяца назад
в нашем случае чтобы автоматизировать рутинные операции: можно проверять наступление события на сайте, скачивать картинки, видео, чтобы смотреть без интернета. Также и просто бывает полезно. К примеру, на code.mu в учебнике верстки есть задачи сверстать целый макет. И они открываются в новом окне (в отдельной вкладке или в текущей). Такое открытие позволяет сделать так, чтобы css стили собственно code.mu не мешали css стилям задачи (то есть у нового окна свои стили и можно в задаче писать любые классы, не боясь, что они криво будут работать)
@NamelessG0D
@NamelessG0D 2 месяца назад
@@user-zc1cv5ie1t Про code mu не пользовался, подобное решение не видел. А вот что касается "автоматизации на сайте" не проще использовать cron? Касаемо парсинга картинок и видео, мне кажется кликами на js, это извращение, для подобных целей значительно лучше использовать тот же питон, на js это ладно если пару файлов, а если нужно слить пару тысяч файлов, это сидеть не трогая машину, да и большинство браузеров при подобных запросах просто повещаются или пошлют лесом. Хотя сложно спорить, каждый "развлекается" по своему. Благодарю за ответ.
@lafoerteaitishnik4793
@lafoerteaitishnik4793 2 месяца назад
У меня почему-то асинхронная функция не срабатывает... Кто знает в чем причина может быть?) Использовал из тг-канала: const btn = document.querySelector('#btn') (async function() { await delay(3); btn.click(); async function delay(value) { return new Promise((resolve, reject) => { setTimeout(function() { console.log('конец задержки'); resolve(); }, value * 1000); }); } })();
@boris___britva
@boris___britva 2 месяца назад
у меня тоже не срабатывала. Попробуй расширение с названием ViolentMonkey. Там все работает
@user-zc1cv5ie1t
@user-zc1cv5ie1t 2 месяца назад
Го в личку в телегу @trepachev_dmitry разберемся)
@alexandraweather4156
@alexandraweather4156 Месяц назад
удалось разобраться?
@alexandraweather4156
@alexandraweather4156 2 месяца назад
круто! только у меня почему-то не появилась иконка обезьяны и место, где дизаблить скрипт плагин я вызываю из иконки всех плагинов, а вот как у вас выпадающее меню не знаю где искать. Что я могла сделать не так? ФФ раньше не пользовалась, только что скачала
@IrenChin-ek2ld
@IrenChin-ek2ld 2 месяца назад
У меня тоже не появилась, в иконке расширений (пазл) рядом с обезьянкой в настройках (шестеренка) отметила галочкой закрепить на панели инструментов, и теперь с обезьянкой)
@alexandraweather4156
@alexandraweather4156 2 месяца назад
@@IrenChin-ek2ld спасибо! А выпадающее меню, где можно убрать конкретный скрипт, оно как вызывается?
@IrenChin-ek2ld
@IrenChin-ek2ld 2 месяца назад
@@alexandraweather4156 нажать на обезьянку, выпадает меню, нажать на наш скрипт, выбрать отключить, у меня ФФ на русском скачался
@IrenChin-ek2ld
@IrenChin-ek2ld 2 месяца назад
@@alexandraweather4156 нажать на обезьянку, в меню нажать на наш скрипт, в появившемся меню выбрать отключить
@user-zc1cv5ie1t
@user-zc1cv5ie1t 2 месяца назад
по обезьянке просто жмешь
@alexandraweather4156
@alexandraweather4156 2 месяца назад
большое спасибо за всю вашу работу каждый день стараюсь решить по паре задач из вашего задачника и закрываю дыры в образовании!
@user-gh1vc3sq2r
@user-gh1vc3sq2r 2 месяца назад
Я вырос по этим видосам и учебникам, это было тысячу лет тому назад
@user-gh1vc3sq2r
@user-gh1vc3sq2r 2 месяца назад
С возвращением!
@user-ly7zn9fr6i
@user-ly7zn9fr6i 2 месяца назад
👍
@boris___britva
@boris___britva 2 месяца назад
Комментарий в поддержку)
@vvks9901
@vvks9901 2 месяца назад
Prikolno!
@user-pu4st1ze9v
@user-pu4st1ze9v 2 месяца назад
17 минут не о чем вообще . !!!!! Зачем такое видео ??
@PivPivPivPiv
@PivPivPivPiv 2 месяца назад
Написано же - введение.
@boris___britva
@boris___britva 2 месяца назад
Смотри на скорости х2, тогда будет 8 минут. А если увидишь чет важное для себя, то ставишь норм скорость.
@user-zc1cv5ie1t
@user-zc1cv5ie1t 2 месяца назад
ну я обычно ниочем стараюсь не делать) самого такое бесит) но тут введение же, нужно рассказать что к чему и что нужно иметь
@user-em2or2iz2u
@user-em2or2iz2u 2 месяца назад
Диман машина, за джини отельный лайк
@user-ly7zn9fr6i
@user-ly7zn9fr6i 2 месяца назад
Отличная тема !!! Класс. Автору респект.
@user-re6cg3yf2g
@user-re6cg3yf2g 2 месяца назад
Пхп🫡
@user-du4qb9yc2q
@user-du4qb9yc2q 2 месяца назад
доходчиво! спасибо
@artemminenko1002
@artemminenko1002 2 месяца назад
Почему не использовать метод .flat()?
@MaksovichPlay
@MaksovichPlay 2 месяца назад
В данном случае, если в массиве отсутствуют строковые элементы с запятыми, то можно решить это в одну строку, например так: let res = arr.join().split(","); На выходе будем иметь простой одномерный массив со строковыми значениями. Если нужны именно числовые значения, тогда можно немного дополнить строку: let res = arr.join().split(",").map(Number);