Iphone webkit экспериментальные функции что это

990x.top

Простой компьютерный блог для души)

Экспериментальные функции WebKit в Айфоне — что это такое?

Приветствую. Современные браузеры перед тем как выпускать новые функции — проводят их тестирование. Пользователи могут помочь тестированию, включив некоторые функции, которые официально еще не представлены.

Экспериментальные функции WebKit в Айфоне — что это?

Опции, которые до конца не были протестированы, могут работать нестабильно.

Включая опции можно как ускорить Safari, так и замедлить.

WebKit — движок для отображения веб-страниц Safari.

Находятся по такому пути: Настройки > Safari > Дополнения > Experimental Features:

Какие настройки стоит включить?

Настроек много. Можно оставить по умолчанию — браузер продолжит работать в штатном режиме.

Но можно попробовать некоторые опции включить — теоретически может улучшить работу.

  1. Ad Click Attribution — позволяет отключить отправку информации рекламодателям о вас.
  2. Blank anchor target implies — защита от фишинга. Другими словами — защита от поддельных сайтов, задача таких сайтов — чтобы вы на них ввели настоящие свои логин/пароль.
  3. Intersection Observer — когда браузер понимает какие элементы на данный момент сайту необходимы, а какие — нет. Особенно актуально для сайтов с бесконечной прокруткой. При активации настройки будет обрабатываться только видимый контент.
  4. Link Preload — опция, при которой браузер будет загружать сайты заранее, которые предположительно в скором времени понадобятся. В некотором смысле технология предзагрузки, которая используется в том числе на десктопных браузера. Минус — может увеличить потребление трафика.

Описание всех функций

Список слишком велик, поэтому вынесен на отдельную страницу.

С осторожностью включайте опции. При возможности создайте заранее бэкап текущих настроек Safari.

Заключение

  • Экспериментальные функции WebKit в Айфоне — опции, которые пока не были официально представлены и находятся на стадии тестирования.
  • Включение некоторых может ускорить работу браузера или замедлить, также могут появиться некоторые проблемы. Включать с осторожностью, лучше заранее создать резервную копию настроек.

Источник

Experimental features на айфон что делает каждая

Apple продолжает наращивать функционал Safari, добавляя в него экспериментальные функции, которые пока еще окончательно не протестированы и могут работать некорректно. Найти весь их список можно по пути Настройки > Safari > Дополнения > Experimental Features:

Ниже предлагаю описание каждой из них:

  • Accessibility Object Model — экспериментальный JavaScript API, который позволяет разработчикам изменять дерево доступности браузера, иными словами — новый удобный доступ к структуре сайта.
  • Ad Click Attribution (Debug Mode) — новая функция конфиденциальности, которая позволяет подтвердить переход по рекламной ссылке, но при этом рекламодатель не получит никаких приватных данных о пользователе.
  • Blank anchor target implies rel=noopener — замечали когда-нибудь, что при переходе по ссылке открывается еще одно окно с рекламой, а страница где вы нажали на ссылку меняется на фишинговую? Включение этой опции запретит изменять текущую страницу при нажатии на ссылку на ней.
  • CSS Custom Properties and values — так называемые пользовательские свойства CSS, позволяющие менять внешний вид элементов на странице после ее загрузки. Например, они позволяют просто и изящно сделать так, чтобы ссылка после загрузки страницы подсвечивалась зеленым, а после нажатия на нее — красным.
  • CSS Painting API — часть низкоуровневого CSS Houdini, позволяющая программно рисовать на странице все, что душа пожелает. А с учетом того, что это JavaScript — нарисованное можно сделать динамическим. По сути очень похоже на API Canvas в HTML5, только реализовано иначе и может работать быстрее.
  • CSS Typed OM (Object Model) — говоря простым языком, это новая объектная модель, которая упрощает и ускоряет работу с объектами CSS: они теперь представляются в виде типизированных объектов JavaScript, что позволяет манипулировать с меньшим негативным влиянием на производительность (да и улучшается общая «читабельность» кода, упрощая поиск багов).
  • MathML Core — позволяет точно визуализировать математические символы и формулы в документах WWW с использованием XML-языка MathML.
  • Fetch API Request KeepAlive — функция для сбора аналитики, работает даже тогда, когда сайт не был загружен до конца.
  • Quirk to prevent delayed initial painting on sites — разработчики Apple всегда радуют великолепными описаниями новых функций (дословно это переводится как «причуда для предотвращения начальной задержки при рисовании на сайтах»). Собственно, тут можно лишь предположить, что это убирает задержку при рисовании стилусом на страницах в интернете.
  • Automatic HTTPS upgrade — при включении этой опции Safari будет пытаться сначала загружать защищенную версию страницы и ее элементов (HTTPS), и только если их нет, будет открываться незащищенная HTTP-версия.
  • ImageBitmap and OffscreenCanvas — фунции, сильно ускоряющие рендеринг графики на странице благодаря использованию многопоточности процессора и прямому доступу к «железу».
  • Intersection Observer (API) — позволяет асинхронно следить за тем, какие объекты и как взаимодействуют друг с другом на видимой области сайта. Это крайне важное нововведение для, например, бесконечных сайтов типа ленты ВК: теперь можно без серьезных затрат производительности понимать, что нужно отрисовывать сейчас, а что уже скрылось за экраном и его можно «выкинуть» из памяти, а что нужно показывать всегда (например, рекламный блок).
  • LinkPrefetch — низкоприоритетная ресурсная подсказка, позволяющая браузеру загружать в фоновом режиме (в свободное время) те ресурсы, которые могут пригодиться позже, и сохранять их на будущее в кэше браузера.
  • Link preload responsive images — функция схожа в предыдущей, позволяет загрузить в фоне так называемые гибкие изображения (те, которые умеют «подгоняться» под различные экраны).
  • Media Capabilities Extensions — расширения, позволяющие определять сайту возможности устройства по кодированию и декодированию видео, тем самым позволяя, например, запускать воспроизведение видео в определенном качестве.
  • MediaRecorder — интерфейс MediaStream API, позволяющий перехватывать аудио- или видеопоток и сохранять его на устройстве.
  • @page CSS at-rule support — оператор, который «объясняет» CSS, что нужно делать. Каждый оператор начинается с «@», после чего следуют нескольких доступных ключевых слов, которые действуют как идентификатор того, что должен делать CSS.
  • Pointer Events — свойство CSS, которое устанавливает, при каких обстоятельствах (если таковые имеются) конкретный графический элемент может работать ссылкой при нажатии на него.
  • Swap Processes on Cross-Site Navigation — точного описания этой функции нет, но баги с ней позволяют понять ее смысл: она должна сохранять процессы на сайте при переходе с него по ссылке дальше, для того, чтобы если вы захотели вернуться назад, страница выглядела так, какой вы ее оставили. В общем и целом, работает достаточно криво, что не удивительно.
  • Referrer Policy attribute — обычно, при переходе с одного сайта на другой, последний узнает, откуда к нему пришли — так и работает, например, Google Analytics. Для управления тем, передавать такую информацию или нет, и при каких условиях, и была придумана Referrer Policy. Увы, что дает включение этой опции в настройках Safari, неизвестно — Apple , как обычно, не дает никакой информации.
  • Resize Observer (API) — функция, позволяющая получать уведомление, когда какой-либо элемент на сайте изменяет свой размер. Нужна для того, чтобы если изменился размер окна браузера (например, вы повернули телефон набок), сайт не распадался на части, а корректно «пересобирался» снова.
  • Server Timing — удобный механизм для отладки, позволяющий понять на стороне сервера, сколько времени заняла загрузка и (или) отображение определенного элемента на сайте.
  • CSS Spring Animation — функция, позволяющая сделать реалистичную с точки зрения физики анимацию элементов на сайтах.
  • Synthetic Editing Commands — увы, официальной информации нет. Из единственной темы на баг-трекере WebKit получилось узнать, что это как-то связано с жестами мыши в Safari.
  • Block top-level redirects in third-party iframes — тут все понятно просто по переводу, блокировка редиректов из сторонних фреймов. Иными словами, если при загрузке сайта подгрузился HTML-документ с другого сайта, то переходы по ссылкам в нем будут заблокированы.
  • VisualViewportAPI — механизм изменения свойств той части страницы, которая на данный момент находится на экране.
  • CSS Animations via Web Animations — анимации CSS силами JavaScript.
  • Web Animations — включение анимации на сайтах, написанной на JavaScript.
  • Web Authentication — беспарольный вход на сайты с помощью сканера отпечатка пальца, Face ID и тому подобное. Не совсем понятно, зачем это нужно на iOS с ее Связкой ключей.
  • WebGL 2.0 — библиотека для языка программирования JavaScript, позволяющая создавать на нем интерактивную 3D-графику.
  • WebGPU — позволяет использовать графический процессор для отрисовки информации на сайтах.
  • WebRTC H264 Simulcast — технология, позволяющая одновременно использовать несколько видеодекодеров для разных разрешений. К примеру, 480p будет воспроизводиться с помощью стандарта H.264, а 1080p — с помощью VP9.
  • WebRTC mDNS ICE cand >Telegram при звонке у обоих пользователей высвечиваются четыре смайлика, которые должны быть одинаковыми — это пример реализации этой технологии.
  • WebRTC Unified Plan — технология, которая позволяет одновременно передавать через браузер несколько аудио/видеопотоков. К примеру, стримить экран и сразу же в уголке передавать картинку с камеры.
  • WebRTC VP8 Codec — собственно, протокол WebRTC обязывает браузеры поддерживать кодеки VP8 и H.264. Эта опция включает поддержку первого.
  • Disable Web SQL — отключает специальное API веб-страниц для хранения данных в веб-браузере на основе SQL. С учетом того, что его уже почти 10 лет не развивают — давно пора.
    Читайте также:  Как скрыть экран айфон

    Интересный момент: если в iOS 11 экспериментальных функций было от силы десяток, а в iOS 12 — порядка 20, то сейчас их около сорока! Тут явно видно желание Apple превратить мобильный Safari в полноценный браузер, и это хорошо просматривается в тесте на поддержу HTML5 (слева — все экспериментальные функции отключены, справа — включены):

    Для примера, десктопный Chrome 76 набирает порядка 532 очков — несильно больше.

    В Safari в iOS 11 Apple добавила несколько новых функций, которые должны позволить браузеру лучше отображать различный контент на сайте, а также ускорить его работу. Включить их просто — нужно зайти в Настроки > Safari > Дополнения > Experimental Features:

    Разумеется, сразу непонятно, за что отвечает каждый пункт. Разберем их подробнее:

    -Constant Properties — не позволяет изменять настройки на веб-страницах с различными настройками. Другими словами, предотвращается изменение веб-сайта или изменение его свойств после его загрузки.
    -CSS display: contents — позволяет управлять генерацией поля элемента. Например, с его помощью можно сделать равномерные отступы между различными элементами на сайте без «костылей».
    -CSS Spring Animation — разумеется, никакого отношения к весне не имеет, а всего лишь позволяет сделать реалистичную с точки зрения физики анимацию элементов на сайтах.
    -Link Preload — нет, к предварительной загрузке ссылок это никакого отношения не имеет, эта функция в основном предназначена для предотвращения очистки предварительно загруженных ресурсов после проведения синтаксического анализа.
    -Remove Legacy WebRTC API — в общем-то и так понятно, удаляет старый WebRTC (функция для передачи данных между браузером и приложением по принципу точка-точка. Пример — вы открываете ссылку в приложении VK — она открывается в копии Safari по технологии WebRTC).
    -Secure Contexts API — функция, суть которой — убедиться, что данные на устройство были доставлены по безопасному протоколу (HTTPS) и не были перехвачены злоумышленниками.
    -Subresourceintegrity — еще одна функция для обеспечения безопасности. Ее суть — владелец ресурса может указать его криптографический хэш, который потом сверяется с хэшем, вычисленным уже после загрузки ресурса на самом устройстве.
    -Viewport Fit — позволяет сайтам изменять размер графических элементов под физический размер экрана устройства (то есть в теории если сайт это поддерживает, то не будет залезающих за края экрана его элементов).
    -Web Animations — тут все очевидно, включение анимации на сайтах. При отключении может немного поднять производительность.
    -WebGPU — позволяет использовать графический процессор для обработки информации на сайтах. Может ускорить работу браузера с насыщенными графикой сайтами, но вызовет повышенный нагрев устройства и уменьшит время автономной работы.
    -Async Frame Scrolling — скроллинг, не привязанный к частоте обновления дисплея. Судя по всему он нужен для новых устройств со 120 Гц экраном для избежания лагов на сайтах, где они не могут выдать 120 fps. На старых 60 Гц экранах разницы не заметно.

    Читайте также:  Замена пленки для iphone

    Сразу оговорюсь — точного описания некоторых функций Apple не предоставила, и я взял описание из других браузеров, так что оно может не совсем подходить конкретно к Safari.

    Apple продолжает наращивать функционал Safari, добавляя в него экспериментальные функции, которые пока еще окончательно не протестированы и могут работать некорректно. Найти весь их список можно по пути Настройки > Safari > Дополнения > Experimental Features:

    Ниже предлагаю описание каждой из них:

    • Accessibility Object Model — экспериментальный JavaScript API, который позволяет разработчикам изменять дерево доступности браузера, иными словами — новый удобный доступ к структуре сайта.
    • Ad Click Attribution (Debug Mode) — новая функция конфиденциальности, которая позволяет подтвердить переход по рекламной ссылке, но при этом рекламодатель не получит никаких приватных данных о пользователе.
    • Blank anchor target implies rel=noopener — замечали когда-нибудь, что при переходе по ссылке открывается еще одно окно с рекламой, а страница где вы нажали на ссылку меняется на фишинговую? Включение этой опции запретит изменять текущую страницу при нажатии на ссылку на ней.
    • CSS Custom Properties and values — так называемые пользовательские свойства CSS, позволяющие менять внешний вид элементов на странице после ее загрузки. Например, они позволяют просто и изящно сделать так, чтобы ссылка после загрузки страницы подсвечивалась зеленым, а после нажатия на нее — красным.
    • CSS Painting API — часть низкоуровневого CSS Houdini, позволяющая программно рисовать на странице все, что душа пожелает. А с учетом того, что это JavaScript — нарисованное можно сделать динамическим. По сути очень похоже на API Canvas в HTML5, только реализовано иначе и может работать быстрее.
    • CSS Typed OM (Object Model) — говоря простым языком, это новая объектная модель, которая упрощает и ускоряет работу с объектами CSS: они теперь представляются в виде типизированных объектов JavaScript, что позволяет манипулировать с меньшим негативным влиянием на производительность (да и улучшается общая «читабельность» кода, упрощая поиск багов).
    • MathML Core — позволяет точно визуализировать математические символы и формулы в документах WWW с использованием XML-языка MathML.
    • Fetch API Request KeepAlive — функция для сбора аналитики, работает даже тогда, когда сайт не был загружен до конца.
    • Quirk to prevent delayed initial painting on sites — разработчики Apple всегда радуют великолепными описаниями новых функций (дословно это переводится как «причуда для предотвращения начальной задержки при рисовании на сайтах»). Собственно, тут можно лишь предположить, что это убирает задержку при рисовании стилусом на страницах в интернете.
    • Automatic HTTPS upgrade — при включении этой опции Safari будет пытаться сначала загружать защищенную версию страницы и ее элементов (HTTPS), и только если их нет, будет открываться незащищенная HTTP-версия.
    • ImageBitmap and OffscreenCanvas — фунции, сильно ускоряющие рендеринг графики на странице благодаря использованию многопоточности процессора и прямому доступу к «железу».
  • Intersection Observer (API) — позволяет асинхронно следить за тем, какие объекты и как взаимодействуют друг с другом на видимой области сайта. Это крайне важное нововведение для, например, бесконечных сайтов типа ленты ВК: теперь можно без серьезных затрат производительности понимать, что нужно отрисовывать сейчас, а что уже скрылось за экраном и его можно «выкинуть» из памяти, а что нужно показывать всегда (например, рекламный блок).
  • LinkPrefetch — низкоприоритетная ресурсная подсказка, позволяющая браузеру загружать в фоновом режиме (в свободное время) те ресурсы, которые могут пригодиться позже, и сохранять их на будущее в кэше браузера.
  • Link preload responsive images — функция схожа в предыдущей, позволяет загрузить в фоне так называемые гибкие изображения (те, которые умеют «подгоняться» под различные экраны).
  • Media Capabilities Extensions — расширения, позволяющие определять сайту возможности устройства по кодированию и декодированию видео, тем самым позволяя, например, запускать воспроизведение видео в определенном качестве.
  • MediaRecorder — интерфейс MediaStream API, позволяющий перехватывать аудио- или видеопоток и сохранять его на устройстве.
  • @page CSS at-rule support — оператор, который «объясняет» CSS, что нужно делать. Каждый оператор начинается с «@», после чего следуют нескольких доступных ключевых слов, которые действуют как идентификатор того, что должен делать CSS.
  • Pointer Events — свойство CSS, которое устанавливает, при каких обстоятельствах (если таковые имеются) конкретный графический элемент может работать ссылкой при нажатии на него.
  • Swap Processes on Cross-Site Navigation — точного описания этой функции нет, но баги с ней позволяют понять ее смысл: она должна сохранять процессы на сайте при переходе с него по ссылке дальше, для того, чтобы если вы захотели вернуться назад, страница выглядела так, какой вы ее оставили. В общем и целом, работает достаточно криво, что не удивительно.
  • Referrer Policy attribute — обычно, при переходе с одного сайта на другой, последний узнает, откуда к нему пришли — так и работает, например, Google Analytics. Для управления тем, передавать такую информацию или нет, и при каких условиях, и была придумана Referrer Policy. Увы, что дает включение этой опции в настройках Safari, неизвестно — Apple, как обычно, не дает никакой информации.
  • Resize Observer (API) — функция, позволяющая получать уведомление, когда какой-либо элемент на сайте изменяет свой размер. Нужна для того, чтобы если изменился размер окна браузера (например, вы повернули телефон набок), сайт не распадался на части, а корректно «пересобирался» снова.
  • Server Timing — удобный механизм для отладки, позволяющий понять на стороне сервера, сколько времени заняла загрузка и (или) отображение определенного элемента на сайте.
  • CSS Spring Animation — функция, позволяющая сделать реалистичную с точки зрения физики анимацию элементов на сайтах.
  • Synthetic Editing Commands — увы, официальной информации нет. Из единственной темы на баг-трекере WebKit получилось узнать, что это как-то связано с жестами мыши в Safari.
  • Block top-level redirects in third-party iframes — тут все понятно просто по переводу, блокировка редиректов из сторонних фреймов. Иными словами, если при загрузке сайта подгрузился HTML-документ с другого сайта, то переходы по ссылкам в нем будут заблокированы.
  • VisualViewportAPI — механизм изменения свойств той части страницы, которая на данный момент находится на экране.
  • CSS Animations via Web Animations — анимации CSS силами JavaScript.
  • Web Animations — включение анимации на сайтах, написанной на JavaScript.
  • Web Authentication — беспарольный вход на сайты с помощью сканера отпечатка пальца, Face ID и тому подобное. Не совсем понятно, зачем это нужно на iOS с ее Связкой ключей.
  • WebGL 2.0 — библиотека для языка программирования JavaScript, позволяющая создавать на нем интерактивную 3D-графику.
  • WebGPU — позволяет использовать графический процессор для отрисовки информации на сайтах.
  • WebRTC H264 Simulcast — технология, позволяющая одновременно использовать несколько видеодекодеров для разных разрешений. К примеру, 480p будет воспроизводиться с помощью стандарта H.264, а 1080p — с помощью VP9.
  • WebRTC mDNS ICE candidates — вкратце, это технология защиты данных при связи peer-to-peer (между пользователями без использования серверов). В небезызвестном Telegram при звонке у обоих пользователей высвечиваются четыре смайлика, которые должны быть одинаковыми — это пример реализации этой технологии.
  • WebRTC Unified Plan — технология, которая позволяет одновременно передавать через браузер несколько аудио/видеопотоков. К примеру, стримить экран и сразу же в уголке передавать картинку с камеры.
  • WebRTC VP8 Codec — собственно, протокол WebRTC обязывает браузеры поддерживать кодеки VP8 и H.264. Эта опция включает поддержку первого.
  • Disable Web SQL — отключает специальное API веб-страниц для хранения данных в веб-браузере на основе SQL. С учетом того, что его уже почти 10 лет не развивают — давно пора.
    Читайте также:  Как отличить айфон восстановленный или оригинал

    Интересный момент: если в iOS 11 экспериментальных функций было от силы десяток, а в iOS 12 — порядка 20, то сейчас их около сорока! Тут явно видно желание Apple превратить мобильный Safari в полноценный браузер, и это хорошо просматривается в тесте на поддержу HTML5 (слева — все экспериментальные функции отключены, справа — включены):

    Для примера, десктопный Chrome 76 набирает порядка 532 очков — несильно больше.

    Источник

  • Оцените статью