Если нужно добавить на страницу поле для редактирования текста, можно использовать атрибут 
Чтобы ограничить ввод только текстом, можно использовать значение
Дополнительно можно ловить события
Подробнее о тонкостях работы с
#html
  
  contenteditable, как более приятную замену textarea (для полей больших форм это не очень хорошая замена). Чтобы ограничить ввод только текстом, можно использовать значение
plaintext-only у атрибута contenteditable. Это предотвратит вставку HTML-разметки, картинок или стилей.<div
contenteditable="plaintext-only"
data-placeholder="Начните печатать..."
></div>
Дополнительно можно ловить события
input и paste, чтобы очищать текст от случайного форматирования. Например, при вставке можно заменить HTML-содержимое на обычный текст через e.clipboardData.getData('text/plain').Подробнее о тонкостях работы с
contenteditable в статье на web.dev#html
web.dev
  
  The contenteditable "plaintext-only" attribute value combination is now Baseline Newly available  |  Blog  |  web.dev
  The contenteditable "plaintext-only" attribute value combination is now Baseline Newly available. Making an element contenteditable but plaintext-only has advantages over using a textarea in some cases highlighted in this post.
🔥16❤1
  This media is not supported in your browser
    VIEW IN TELEGRAM
  Джуны свободны. Как и было сказано.
Сперва джуны, за ними, естественно, мидлы.
Профессор МГУ Наталья Зубаревич, ведущий российский эксперт по региональной экономике
#ai #learning
Сперва джуны, за ними, естественно, мидлы.
Профессор МГУ Наталья Зубаревич, ведущий российский эксперт по региональной экономике
#ai #learning
🤡6👍4😁4👎3
  Раньше я думал, что 
Причем, он предлагал "вьюшную" модель - если
Cтатическая типизация примитивных типов плюс
#ts #js #murych
JavaScript нужно заменять полностью, но сейчас согласен с Мурычем - достаточно статической типизации примитивов.Причем, он предлагал "вьюшную" модель - если
Ref инициализирован строкой, то и дальше в нем только строки. Так же с переменными по примитивным типам в JSCтатическая типизация примитивных типов плюс
ES классы решат 95%+ всех проблем без извращений TS#ts #js #murych
👍16👎1
  W3C Technical Architecture Group (TAG) представил Принципы Этичного Веба, которые призваны направить веб-сообщество на создание более этичного и социально ответственного интернета. Эти принципы включают:
Есть один веб
Веб не причиняет вреда обществу
Веб поддерживает здоровое сообщество и дебаты
Веб для всех людей
Веб безопасен и уважает конфиденциальность людей
Веб обеспечивает свободу слова
Веб позволяет проверять информацию
Веб усиливает контроль и власть отдельных лиц
Веб является экологически устойчивой платформой
Веб прозрачен
Веб является многобраузерным, много-операционным и для многих устройств
Веб может быть потреблен любым способом, который выбирают люди
Эти принципы не только теоретические, но и призывают всех участников веб-сообщества оценивать влияние своих вкладов на общество и окружающую среду.
Оцениваем
#w3c #ethic
  
  Есть один веб
Веб не причиняет вреда обществу
Веб поддерживает здоровое сообщество и дебаты
Веб для всех людей
Веб безопасен и уважает конфиденциальность людей
Веб обеспечивает свободу слова
Веб позволяет проверять информацию
Веб усиливает контроль и власть отдельных лиц
Веб является экологически устойчивой платформой
Веб прозрачен
Веб является многобраузерным, много-операционным и для многих устройств
Веб может быть потреблен любым способом, который выбирают люди
Эти принципы не только теоретические, но и призывают всех участников веб-сообщества оценивать влияние своих вкладов на общество и окружающую среду.
Оцениваем
#w3c #ethic
W3C
  
  W3C Statement on Ethical Web Principles guides the community to build a better web
  The Ethical Web Principles, which build on W3C’s core values and principles in the web and its architecture, are a call to action for the web industry and for W3C itself, aiming to deliver positive social outcomes. As we expand the web platform, we must consider…
🤣6🗿4❤1👍1
  Один немолодой джаваскриптер, большой любитель кошек, имеющий онкозаболевание, критикующий распространенные фронтенд фреймворки, продвигающий свою идеологию рассказывает о своей жизни
#people
#people
👎5🔥3🤡1
  Вышел 
Меж тем
Кто-то уже пробовал?
#vite #rolldown
Vite 7 beta.0, который готовят под RolldownМеж тем
Vite с Rolldown можно уже использовать через опубликованный пару дней назад специальный форк Vite - rolldown-vite Кто-то уже пробовал?
#vite #rolldown
👍5❤3
  💩15😐4
  Метод 
Браузер дает запросу
Практические применения
- Финализация аналитических данных - отправка собранной за сессию аналитики перед закрытием страницы
- Автосохранение - сохранение последнего состояния приложения, которое пользователь мог не сохранить явно
- Отчеты об ошибках - гарантированная отправка логов о критических ошибках
- Трекинг поведения - фиксация последних действий пользователя перед уходом
Ограничения
- Максимальный размер полезной нагрузки ограничен (обычно 64Кб)
- Поддерживает только POST-запросы
- Не поддерживает кастомные заголовки
- Ответ сервера не может быть обработан
#tip
navigator.sendBeacon() предоставляет возможность гарантированно отправить небольшой объем данных на сервер, даже если пользователь закрывает страницу или браузер. В отличие от традиционных AJAX-запросов, которые могут быть прерваны при выгрузке страницы, sendBeacon обеспечивает доставку данных в таких сценариях.Браузер дает запросу
sendBeacon приоритетное выполнение перед завершением работы страницы, что делает этот метод идеальным для критически важных данных.Практические применения
- Финализация аналитических данных - отправка собранной за сессию аналитики перед закрытием страницы
- Автосохранение - сохранение последнего состояния приложения, которое пользователь мог не сохранить явно
- Отчеты об ошибках - гарантированная отправка логов о критических ошибках
- Трекинг поведения - фиксация последних действий пользователя перед уходом
const data = JSON.stringify({event: 'page_close', time: Date.now()});
navigator.sendBeacon('/analytics', data);Ограничения
- Максимальный размер полезной нагрузки ограничен (обычно 64Кб)
- Поддерживает только POST-запросы
- Не поддерживает кастомные заголовки
- Ответ сервера не может быть обработан
#tip
👍35❤1
  Во 
Но иногда всё-таки нужно послать событие дочернему компоненту, и в этом случае используется
Основные use cases:
- открыть/закрыть модалку
- установить фокус
- сбросить форму
- валидировать поле
- обновить данные
- включить/выключить аудио/видео/анимацию
#expose
Vue используется модель потока данных: "данные вниз, события наверх"Но иногда всё-таки нужно послать событие дочернему компоненту, и в этом случае используется
defineExpose. Это вполне соответствует лучшим практикам обычного HTML и DOM APIОсновные use cases:
- открыть/закрыть модалку
- установить фокус
- сбросить форму
- валидировать поле
- обновить данные
- включить/выключить аудио/видео/анимацию
#expose
🔥13✍5👍2
  Cursor дорос до 1.0.0 версииОбнов много - memories, review PR-ов, MCP в один клик, диаграммы и таблицы в ответах в чате и другое
Вообще, это
IDE довольно быстро развивается последние недели и, тьфу-тьфу-тьфу, более-менее стабильно работает#ai #cursor
Cursor
  
  Bugbot, Background Agent access to everyone, and one-click MCP install · Cursor
  Built to make you extraordinarily productive, Cursor is the best way to code with AI.
❤6🤮1
  Несколько месяцев назад 
Можно пойти дальше - попросите
Экономия времени и кредитов.
(не для
P.S. В новом Курсоре появилась фича
#ai #cursor #tip
Cursor (и другие, наверно, тоже) научились работать с линтером, за один прогон исправляя ошибкиМожно пойти дальше - попросите
Cursor написать и использовать тестовый скрипт для проверки некого функционала (без каких либо тестовых библиотек), который вы ему заказали. Тогда агент будет в цикле сам запускать этот скрипт, который будет проверять правильность уже проектного кода, ставить логи, изучать ошибки и исправлять их, пока всё не пофиксит. Часто он делает это сам.Экономия времени и кредитов.
(не для
vue, для js, py, php etc).P.S. В новом Курсоре появилась фича
Run agent in Clouds, включенная по умолчанию, из-за которой редактор начинает жутко тормозить. Можно отключить.#ai #cursor #tip
❤3
  