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

Safari Technology Preview 251: fragment navigation отменяет download в том же task

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

Safari Technology Preview 251: fragment navigation отменяет download в том же task. Локальная диагностическая процедура, event order «trusted click → download dispatch → hash change → download observed», отрицательный контроль и безопасный критерий остановки без production-данных.

Короткий ответ и точная граница симптома

Для запроса «как проверить что fragment navigation не отменяет download attribute click Safari Technology Preview 251» проверяется ровно одна ситуация: клик по ссылке download запускается, но same-frame fragment navigation в том же task отменяет загрузку. При разрешённой средой загрузке изменение fragment не должно её отменять. Запрет download автоматизацией получает статус environment-blocked. Это вывод только для Safari Technology Preview 251 и минимального примера; стабильный Safari, другие браузеры и конкретный сайт требуют отдельного прогона. Ключевой риск ложного вывода: Проверка факта загрузки зависит от browser UI; простой click event не доказывает создание download item. Поэтому ожидаемое состояние формулируется до действия, а неизвестный результат остаётся unknown.

Доказательная опора: Release 251 и 319105@main

Официальные release notes WebKit опубликованы 26 августа 2026 года и прямо сообщают: same-frame fragment navigation больше не отменяет download, начатый download-attribute click в том же task. Пункт ведёт на 319105@main, то есть на первичную запись изменения в WebKit. Связка release page и commit подтверждает наличие технического изменения, но не его распространённость, поисковую частоту или результат на пользовательском проекте. Google News и публичные community-страницы остаются leads: их сниппеты, голоса и отдельные ответы не используются как доказательство причины.

Диагностический паспорт: event order «trusted click → download dispatch → hash change → download observed»

До воздействия заполните поля: trusted click, download URL локального blob, suggested filename, hash до/после, navigation event, факт начала download и порядок действий task. Рабочий артефакт — event order «trusted click → download dispatch → hash change → download observed». Отрицательный или сравнительный контроль: отдельный прогон без fragment change подтверждает, что download policy среды разрешает загрузку. К каждому наблюдению добавляются точная сборка TP 251, время, zoom и короткие expected/observed; сведения из памяти не подставляются. Не сохраняются имя профиля, IP, cookie, токены, Authorization, локальные пути, полные URL с приватными query и содержимое рабочих документов. Если обязательное поле нельзя измерить безопасно, статья предписывает остановку, а не догадку.

Пошаговый canary, контроль и полный возврат

На отдельной локальной странице нужно на локальной странице по одной кнопке кликнуть безопасную download-ссылку на маленький Blob и изменить location.hash в том же handler; затем удалить Object URL. Сначала снимается baseline, затем меняется только одна названная переменная и выполняется один заранее определённый ввод. После записи результата применяется контроль: отдельный прогон без fragment change подтверждает, что download policy среды разрешает загрузку. Затем исходное состояние полностью восстанавливается и baseline измеряется ещё раз. Прогон получает invalid test, если rollback не вернул исходные значения, вмешалось расширение, не пришло доверенное пользовательское событие или среда не предоставляет нужный API/UI. В таком случае не добавляют второе изменение и не объявляют браузер неисправным.

Развилка решения, красная линия и пакет воспроизведения

При разрешённой средой загрузке изменение fragment не должно её отменять. Запрет download автоматизацией получает статус environment-blocked. Практический результат хранится как event order «trusted click → download dispatch → hash change → download observed». Статус reproduced ставится только после одинакового повторения и успешного rollback; not reproduced относится лишь к текущему fixture; unsupported и environment-blocked не смешиваются с unknown. Красная линия: не скачивать внешние файлы, не задавать опасное расширение и не проверять на странице с рабочей навигацией. Для передачи в поддержку достаточно версии, минимального HTML/CSS/JS, таблицы expected/observed, контрольного результата и ссылки на 319105@main. Перед отправкой удаляются идентификаторы и реальные данные. Материал не обещает исправление, индексацию, позицию или универсальное поведение другой версии Safari.

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

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

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

Ответы

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

Ваш ответ

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

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

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