Веб-платформа
Open in Telegram
📍 О том, как всё устроено в веб-платформе и что происходит в индустрии фронтенда ⭐️ Новости, полезные выжимки, находки и напоминания 👨💻 Вопросы и предложения @web_platform_support 🔗 webplatform.tech
Show more2 122
Subscribers
No data24 hours
-37 days
-2330 days
Posts Archive
\n\nПотом в Chrome 32 появились Promise. Затем обновились стандарты. И уже в Chrome 50 метод play() стал возвращать промис вместо того, чтобы синхронно выполнить запуск медиа. То есть ваш код сломался и выдаёт эксепшн, который даже даёт ссылку на специальную страничку https://developer.chrome.com/blog/play-request-was-interrupted.\n\nЕщё один пример, немного с другого бока подсвечивает эту же проблему. Люди издревле желали стилизовать скроллбары. Поэтому в Chrome появился целое семейство свойств для стилизации (::-webkit-scrollbar, ::-webkit-scrollbar-track…), в которых можно было задавать ширину или высоту скроллабара (в пикселях!), его цвет фона. Потом это дело ушло вариться в стандарты, ранние черновики были реализованы в Firefox: это были свойства scrollbar-width и scrollbar-color. Причём в scrollbar-width уже нельзя было задавать значения в пикселях (только thin или auto), а scrollbar-color принимал два цвета через пробел (для фонового цвета трека и «таскалки»). И вот так оно и жило где-то с 64 версии FF до наших дней: для стилизации в FF использовался «правильный» вариант с scrollbar-width/scrollbar-color, а в Chrome работали вендорные префиксы.\n\nЧто же могло пойти не так? В Chrome 121 завезли (https://developer.chrome.com/docs/css-ui/scrollbar-styling) так же стандартные scrollbar-width и scrollbar-color! И ваш код, хоть и не упал, но начал работать по-другому, так как скроллбары стали другими, и хорошо, если просто стали другими. В целом не то чтобы критично. Но возможно сегодня где-то в далёком офисе одинокий разработчик сдувает пыль с давнего проекта и добавляет хак, чтобы всё оставалось как раньше, и в Chrome по-прежнему применялась только стилизация через вендорные префиксы:\n\n\n@media screen and (min--moz-device-pixel-ratio:0) {\n .scrollable_styled {\n scrollbar-width: thin;\n scrollbar-color: gray transparent;\n }\n}\n\n.scrollable_styled::-webkit-scrollbar {\n width: 8px;\n}\n\n.scrollable_content::-webkit-scrollbar-thumb {\n background-color: gray;\n}\n\nDirected by robert b weide 🥁\n\nА для тех, кто дочитал до конца, приятный бонус: список задепрекейченых и выпиленных платформенных API: JS, HTML, CSS.","datePublished":"2024-01-30T07:01:16Z","dateModified":"2024-01-30T07:01:16Z","author":{"@type":"Organization","name":"Веб-платформа","url":"https://telemetr.io/en/channels/1319491913-web_platform","image":"https://img.tlmtr.io/c/1ris7D/5471923326382368728?ty=x"},"publisher":{"@type":"Organization","name":"Веб-платформа","url":"https://telemetr.io/en/channels/1319491913-web_platform","image":"https://img.tlmtr.io/c/1ris7D/5471923326382368728?ty=x"},"commentCount":4,"interactionStatistic":[{"@type":"InteractionCounter","interactionType":"https://schema.org/ViewAction","userInteractionCount":359},{"@type":"InteractionCounter","interactionType":"https://schema.org/LikeAction","userInteractionCount":13},{"@type":"InteractionCounter","interactionType":"https://schema.org/ShareAction","userInteractionCount":6},{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":4}]}},{"@type":"ListItem","position":17,"item":{"@type":"SocialMediaPosting","@id":"https://telemetr.io/en/channels/1319491913-web_platform/posts/78","url":"https://telemetr.io/en/channels/1319491913-web_platform/posts/78","mainEntityOfPage":"https://telemetr.io/en/channels/1319491913-web_platform/posts/78","headline":"Фронтвестник 26.01.2024 Новости - состоялось заседание рабочей группы по веб-компонентам W3C, результаты: Dec…","articleBody":"Фронтвестник 26.01.2024\n\nНовости\n- состоялось заседание рабочей группы по веб-компонентам W3C, результаты: Declarative Shadow DOM появится в Firefox 123 в конце февраля (эта фича, позволяющая использовать Shadow DOM напрямую в HTML без вызова attachShadow() из JS); начнёт разрабатываться Scoped Element Registries, позволяющий создавать элементы с одинаковым именем в рамках одной страницы; Container Style Queries быть во всех движках в ближайшем будущем 🎉\n- грядущие нововведения в «клиентском» Реакте: use(Promise) — саспендинг на клиенте; use(Context) — такой же, как useContext, но можно вызывать в условиях; хуки и апи для работы с формами Form Actions, useFormState, useFormStatus; а также useOptimistic — специальный хук, чтобы смотреть на «классический» Реакт с оптимизмом\n- обновления в Chrome 121: появились свойства scrollbar-color и scrollbar-width (раньше работало только в FF, так что если у вас были стили только для FF в Хроме тоже внезапно включится!); font-palette для управления цветовыми шрифтами; псевдоэлементы ::spelling-error и ::grammar-error для стилизации ошибок; Speculation Rules API для программного префетча и пререндера страниц в классических MPA; showPicker() для программного выпадения
