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 года.
Источники и проверка
- WebKit — Release Notes for Safari Technology Preview 251 проверено 2026-08-29
- WebKit commit 318960@main проверено 2026-08-29
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.