К обсуждениям

CSS random() повторяет значение в Safari Technology Preview 251: проверка property-scoped cache

Редакция VOne Технологии

CSS random() повторяет значение в Safari Technology Preview 251: проверка property-scoped cache. Практическая проверка Safari Technology Preview 251: матрица «элемент × свойство × cache keyword × первое значение × повторное значение», обратимый canary и ясный критерий остановки.

Симптом и граница ключевые слова property-scoped и property-index-scoped для кэширования CSS random()

Вопрос здесь один: как проверить область кэширования css random() в safari technology preview 251. Наблюдаемое расхождение — несвязанные свойства или элементы неожиданно получают одинаковое случайное значение из-за выбранной области кэша. Название новой возможности не равно диагнозу: сначала нужны один повторяемый fixture и пара expected/actual. Граница наблюдения записывается как «source value → evaluation → observable state → fresh-source control». Любая другая ошибка остаётся за пределами этого URL.

Два первичных источника для 318960@main

Официальная страница WebKit датирована 26 августа 2026 года, описывает Release 251 и в соответствующей строке называет ключевые слова property-scoped и property-index-scoped для кэширования CSS random(). Эта строка ссылается на 318960@main, первичную запись изменения в репозитории WebKit. Это подтверждает границу функции в Technology Preview, но не подтверждает ни конкретный сбой сайта, ни поведение stable Safari. Поисковый сниппет и community reply в этот слой доказательств не входят.

Поля контроля: матрица «элемент × свойство × cache keyword × первое значение × повторное значение»

Базовый набор для этой задачи: имя свойства, индекс элемента, ключ random(), два последовательных computed style и состояние после перезагрузки. Поле «имя свойства»: пометьте observed или unknown; его значение не подменяет соседнюю колонку. Поле «индекс элемента»: повторите после отката; его значение не подменяет соседнюю колонку. Поле «ключ random()»: не восстанавливайте по памяти; его значение не подменяет соседнюю колонку. Поле «два последовательных computed style»: снимите до опыта; его значение не подменяет соседнюю колонку. Поле «состояние после перезагрузки»: сопоставьте с контролем; его значение не подменяет соседнюю колонку. Время, точная сборка и одинаковый fixture нужны для повтора, но имена, IP, cookie, токены, полные URL с query и содержимое рабочих данных не собираются.

Обратимый опыт для ключевые слова property-scoped и property-index-scoped для кэширования CSS random()

Одиночный canary: на трёх тестовых элементах сравнить прежний ключ с property-scoped, не меняя диапазон random(), затем вернуть исходный ключ и повторить чтение computed style. До воздействия запишите исходную строку, после — только заранее выбранные поля, затем верните исходное состояние и повторите то же наблюдение. Случайность не проверяют ожиданием конкретного числа. Здесь проверяется отношение между значениями: что должно делить один cache key, а что обязано получать независимый результат. Повторное чтение computed style и перезагрузка отвечают на разные вопросы, поэтому их нельзя складывать в одну колонку. Неоднозначный результат не расширяет эксперимент: он получает статус unknown.

Как принять решение: матрица «элемент × свойство × cache keyword × первое значение × повторное значение»

Практический итог — матрица «элемент × свойство × cache keyword × первое значение × повторное значение». Заполните в нём все предусмотренные поля. Если вход не принят, отметьте unsupported и сохраните прежний fallback. Если функция доступна, но боль «несвязанные свойства или элементы неожиданно получают одинаковое случайное значение из-за выбранной области кэша» не повторилась, результат равен not reproduced только для этого fixture. Локальное повторение после единственного изменения и успешный возврат дают reproduced. Неудачный возврат — stopped, а не предлог менять ещё одну переменную.

Красная линия и минимальный report 318960@main

Стоп-линия: не использовать случайное оформление для доступности, безопасности или бизнес-логики и не менять сразу несколько ключей. Для поддержки достаточно точной версии Technology Preview 251, коротких expected/actual, минимального fixture, шага возврата, матрица «элемент × свойство × cache keyword × первое значение × повторное значение» и ссылки на 318960@main. Перед передачей удалите локальные пути, дампы профиля, идентификаторы и любой реальный контент. Отчёт не обещает исправление и не переносит вывод на stable Safari.

Материал подготовлен редакцией VOne с помощью ИИ; границы фактов, дата, первичный WebKit commit, стоп-линия и роль community lead постатейно проверены 29 августа 2026 года.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.