Hacker News Digest

Тег: #safari

Постов: 2

Infinite Pixels (meyerweb.com)

Я листал соцсети и наткнулся на toot Энди P с трюком:

width: calc(infinity * 1px); height: calc(infinity * 1px);

Подумал: отличный тест на пределы. Если отдать браузеру бесконечность через ключевое слово infinity, он всё равно зажмет до максимума — можно понять верхнюю планку.

Сделал див с width/height: calc(infinity * 1px), обнулил отступы, проверил в Safari, Chrome и Firefox (Nightly) на macOS — и началось странное.

  • Safari: около 33,554,428 px по ширине/высоте
  • Chrome: около 33,554,400 px
  • Firefox: высота схлопывается до межстрочного (например, 19.2 px при normal, 16 px при line-height: 1), ширина — вычислено ~17,895,700, но в раскладке ~8,947,840 (ровно половина минус 10)

Safari/Chrome почти упираются в 2^25 - 1 (33,554,431), но чуть ниже. Почему именно так — загадка. Firefox же ведет себя особенно: высота с “бесконечностью” игнорируется и падает к строке, ширина делится пополам в layout.

Дальше я попробовал font-size: calc(infinity * 1px):

  • Safari: 100,000 px
  • Chrome: 10,000 px
  • Firefox: вычислено 3.40282e38 (макс для 32-бит float), но в раскладке шрифт ~2,400 px при normal; при line-height: 1 высота блока вдруг раздувается до ~8.9 млн. То же при переносе стилей на body.

Вывод: у Safari/Chrome жесткие десятичные лимиты для font-size (100k и 10k). У Firefox — вычислительно “бесконечность” как float, но реально рендерится ограниченный размер и странная связь с line-height.

Проверил line-height: calc(infinity * 1px):

  • Safari: ~33,554,428
  • Chrome: ~33,554,400
  • Firefox: вычислено ~17,895,700, в раскладке ~8,947,840

Итоговые наблюдения:

  • Safari/Chrome для размеров элементов/line-height ограничивают около 2^25 - 1; для font-size — вручную заданные пороги (10k/100k).
  • Firefox: несогласованность вычисленного и реального значения; высота может схлопываться к строке, ширины/line-height делятся пополам, сильная зависимость от line-height.

Если кто знает первопричины (история движков, типы хранилищ, квантизация, внутренние лимиты раскладки/скролла/композитинга) — расскажите в комментариях или постом с трекбеком.

by OuterVale • 07 августа 2025 г. в 13:12 • 242 points

ОригиналHN

#css#html#webkit#blink#safari#chrome#firefox#macos

Комментарии (55)

  • Firefox ограничивает высоту блока 17 895 697 px — это максимум для 32-битного signed-целого в единицах 1/60 px.
  • Chrome/Safari держатся чуть выше, около 33 554 431 px, т.к. у WebKit/Blink единица 1/64 px и тот же 32-битный signed.
  • «Бесконечные» таблицы/листы реализуются через огромный прокручиваемый div, но приходится рисовать свой скролл или канвас, когда нативный height перестаёт работать.
  • CSS-значение infinity (новое 2–3 года) просто приводится к этому максимуму, а не даёт настоящую бесконечность.

uBlock Origin Lite now available for Safari (apps.apple.com) 🔥 Горячее 💬 Длинная дискуссия

uBO Lite (uBOL) — надежный и эффективный блокировщик контента.

Набор правил по умолчанию соответствует стандартным спискам uBlock Origin:

  • Встроенные списки uBlock Origin
  • EasyList
  • EasyPrivacy
  • Список серверов рекламы и трекинга Peter Lowe

Дополнительные правила можно включить на странице настроек — нажмите значок шестеренки в всплывающей панели.

uBOL полностью декларативен: фильтрацию CSS/JS выполняет сам браузер, постоянный процесс расширения не нужен. uBOL не расходует CPU/память во время блокировки; сервис‑воркер требуется только при работе с панелью или настройками.

Рейтинги и отзывы

4,8 из 5 (37 оценок)

Лучший блокировщик для Safari

Открытый код, основан на оригинальном uBlock Origin, быстрее других. Рекомендую. Включите режим «Полный», иначе часть рекламы останется.

Не удается включить на Safari для ноутбука

На iPhone работает отлично. Улучшите версию для macOS: в настройках Safari расширение сразу после установки выглядит отключенным.

Доступ к панели

Попасть в настройки немного неочевидно, особенно в приватном режиме. Но это лучший блокировщик. Спасибо за порт на iOS.

Разработчик Raymond Hill сообщает, что приложение может обрабатывать данные, как описано ниже. Подробности в политике конфиденциальности.

Данные не собираются

Разработчик не собирает данные из этого приложения.

Практики конфиденциальности могут отличаться в зависимости от функций и возраста пользователя. Узнать больше

Информация

Продавец: Raymond Hill
Размер: 5,8 МБ
Категория: Утилиты
Совместимость: iPhone iOS 18.0+, iPad iPadOS 18.0+, Mac macOS 15.0+, Apple Vision visionOS 2.0+
Языки: английский
Возраст: 4+
Авторские права: © Raymond Hill 2022
Цена: бесплатно

  • Поддержка
  • Политика конфиденциальности

by Jiahang • 05 августа 2025 г. в 09:01 • 1108 points

ОригиналHN

#ublock-origin#safari#ios#macos#adguard#easylist#easyprivacy#content-blocking#privacy#ad-blocking

Комментарии (439)

  • Пользователи обсуждают выход uBlock Origin Lite для Safari: многие радуются появлению уБО на iOS/macOS, но отмечают, что Apple очень поздно починила/реализовала DNR API (iOS 18.5–18.6), из‑за чего раньше блокировка в Safari была слабее, чем даже в Chrome MV3.
  • Много жалоб на совместимость и распространение: у некоторых расширение не активируется или пишет «не поддерживается этой версией Safari» (iOS 18.5, macOS 15.5/15.6), встречаются ошибки «Unable to load», недоступность в регионе, а в поиске App Store его тяжело найти.
  • Сравнения с альтернативами разнятся: часть считает, что AdGuard/Wipr/Ghostery уже давно хорошо работают в Safari; другие видят у uBOL более высокую эффективность (пример теста 94% vs 79% у AdGuard) и удобные инструменты (элемент‑пикер), хотя некоторые жалуются на UI и помехи нативным функциям Safari.
  • Обсуждают альтернативные браузеры: Orion (WebKit с поддержкой uBO “полной” версии), Brave (встроенный эффективный блокер), Firefox/Firefox Focus, DuckDuckGo; ряд пользователей предпочитает их из‑за лучшего адблокинга и производительности.
  • Требование iOS 18+ стало барьером: владельцы старых устройств/версий iOS просят поддержку, опасаются обновляться, часть ждёт доступности по регионам.
  • Есть вопросы о функциональности “Lite”: можно ли добавлять собственные фильтры/косметические правила; у некоторых всплывает запрос доступа к доменам трекинга (например, adnxs), что вызывает недоумение.
  • Итоговая тональность: рады новому варианту для Safari и конкуренции, но критикуют Apple за запоздалую и несовершенную реализацию, а также за хрупкость и региональные/версийные ограничения.