Если нужно добавить на страницу поле для редактирования текста, можно использовать атрибут
Чтобы ограничить ввод только текстом, можно использовать значение
Дополнительно можно ловить события
Подробнее о тонкостях работы с
#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
инициализирован строкой, то и дальше в нем только строки. Так же с переменными по примитивным типам в JS
Cтатическая типизация примитивных типов плюс
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
Changelog - Jun 4, 2025 | Cursor - The AI Code Editor | Cursor - The AI Code Editor
Cursor 1.0 brings Bugbot for code review, a first look at memories, one-click MCP setup, Jupyter support, and general availability of Background Agent.
❤6🤮1
Несколько месяцев назад
Можно пойти дальше - попросите
Экономия времени и кредитов.
(не для
P.S. В новом Курсоре появилась фича
#ai #cursor #tip
Cursor
(и другие, наверно, тоже) научились работать с линтером, за один прогон исправляя ошибкиМожно пойти дальше - попросите
Cursor
написать и использовать тестовый скрипт для проверки некого функционала (без каких либо тестовых библиотек), который вы ему заказали. Тогда агент будет в цикле сам запускать этот скрипт, который будет проверять правильность уже проектного кода, ставить логи, изучать ошибки и исправлять их, пока всё не пофиксит. Часто он делает это сам.Экономия времени и кредитов.
(не для
vue
, для js
, py
, php
etc).P.S. В новом Курсоре появилась фича
Run agent in Clouds
, включенная по умолчанию, из-за которой редактор начинает жутко тормозить. Можно отключить.#ai #cursor #tip
❤3