Опубликовано: 12 мая 2025 г.
Предложенный HTML-элемент <permission> пока находится на стадии первоначального тестирования, поскольку команда Chrome дорабатывает его, опираясь на фундамент, заложенный в ходе первоначального тестирования . В этой статье рассказывается об улучшениях, призванных обеспечить вам большую гибкость и контроль при запросе разрешений в веб-приложениях. Для получения полного обзора появления элемента <permission> и его первоначальных возможностей обратитесь к нашей предыдущей статье «Первоначальное тестирование нового HTML-элемента <permission> » .
Поддержка контента для резервного пользовательского интерфейса
Элемент <permission> изначально определялся как пустой элемент без содержимого до версии Chrome 136. Начиная с Chrome 137, он поддерживает содержимое, что означает, что теперь его необходимо размечать открывающими и закрывающими тегами:
<permission>
<!-- optional content -->
</permission>
Это изменение позволяет включать резервные пользовательские интерфейсы в содержимое элемента. Эти резервные варианты отображаются в браузерах, которые не поддерживают элемент <permission> или когда указан неподдерживаемый атрибут type . Это обеспечивает более плавную работу и улучшенное взаимодействие с пользователем в различных браузерных средах.
<!-- Invalid `type` attribute value -->
<permission type="not-supported">
<p>Your browser does not support the specified <code>type</code>.</p>
</permission>
Более детальное программное обнаружение функций
Чтобы помочь вам определить поддержку конкретных типов разрешений, мы ввели статический метод ` isTypeSupported() :
HTMLPermissionElement.isTypeSupported('geolocation');
Этот метод возвращает логическое значение, указывающее, поддерживается ли указанный тип разрешения. В сочетании с существующим методом определения наличия функции ` typeof HTMLPermissionElement !== 'undefined' теперь можно программно убедиться как в поддержке элемента <permission> , так и в поддержке конкретных типов разрешений.
Обратите внимание, что вы также можете передавать несколько типов разрешений, разделенных пробелами (например, "camera microphone" ), и система вернет информацию о том, является ли вся строка допустимым значением "type" . Например, вызов функции isTypeSupported() со следующими параметрами вернет следующие результаты:
-
"camera"→true -
"geolocation"→true -
"camera geolocation"→false(Хотя каждый тип поддерживается по отдельности, комбинация не поддерживается.)
Обновлены названия событий
В Chrome 136 мы ввели два новых события взамен предыдущих:
-
onpromptdismiss(заменяетondismiss) -
onpromptaction(заменяетonresolve)
Новые события обеспечивают более понятную семантику и лучше соответствуют поведению элемента. Старые события будут устарели в Chrome 138, поэтому мы рекомендуем обновить обработчики событий соответствующим образом.
Поддержка иконок
Мы работаем над включением поддержки значков в элементе <permission> , запланированной для Chrome 138. Эта функция позволит отображать предопределенные значки, соответствующие типу разрешения, с ограниченными возможностями стилизации, такими как настройка цвета и размера. Точные детали API все еще уточняются.
В следующих примерах показаны значения по умолчанию, другой цвет заливки и отсутствие цвета заливки, но с черной обводкой.
Стиль по умолчанию
![]()
Цвет значка по умолчанию совпадает с цветом текста элемента, содержащего разрешение.
Модифицированный стиль
Приведенные ниже примеры демонстрируют образцовые изменения в стандартном стиле оформления.
Изменение цвета значка
::permission-icon {
fill: black;
}
![]()
Изменение контура значка
::permission-icon {
fill: white;
stroke: black;
stroke-width: 20px;
}
![]()
Отключить значок
После запуска иконка будет включена по умолчанию. Если вы хотите отключить иконку, это можно сделать с помощью следующего CSS-кода.
::permission-icon {
display: none;
}
Рекомендации по стилю
Для получения исчерпывающих рекомендаций по оформлению элемента <permission> , включая лучшие практики и ограничения, обратитесь к руководству по оформлению элемента <permission> . Этот ресурс содержит подробные инструкции, которые помогут вам эффективно оформить элемент в ваших приложениях.
Расширенная поддержка платформы и возможностей.
Элемент <permission> теперь поддерживает дополнительные платформы и возможности:
- Поддержка Android: Теперь этот элемент работает на устройствах Android, что расширяет его применимость на различных пользовательских платформах.
- Поддержка геолокации: Теперь вы можете запрашивать разрешения
type="geolocation"с помощью элемента<permission>с дополнительным логическим атрибутомpreciselocation. Хотя атрибутpreciselocationвлияет только на формулировку запроса, мы активно работаем над тем, чтобы в будущих обновлениях различать разрешения на определение приблизительного и точного местоположения.
Выводы
Эти улучшения элемента <permission> являются частью наших постоянных усилий по оптимизации запросов на получение разрешений и улучшению пользовательского опыта в интернете. Мы призываем вас поэкспериментировать с этими новыми функциями и предоставить обратную связь, чтобы помочь нам усовершенствовать и развить эту возможность.
Опубликовано: 12 мая 2025 г.
Предложенный HTML-элемент <permission> пока находится на стадии первоначального тестирования, поскольку команда Chrome дорабатывает его, опираясь на фундамент, заложенный в ходе первоначального тестирования . В этой статье рассказывается об улучшениях, призванных обеспечить вам большую гибкость и контроль при запросе разрешений в веб-приложениях. Для получения полного обзора появления элемента <permission> и его первоначальных возможностей обратитесь к нашей предыдущей статье «Первоначальное тестирование нового HTML-элемента <permission> » .
Поддержка контента для резервного пользовательского интерфейса
Элемент <permission> изначально определялся как пустой элемент без содержимого до версии Chrome 136. Начиная с Chrome 137, он поддерживает содержимое, что означает, что теперь его необходимо размечать открывающими и закрывающими тегами:
<permission>
<!-- optional content -->
</permission>
Это изменение позволяет включать резервные пользовательские интерфейсы в содержимое элемента. Эти резервные варианты отображаются в браузерах, которые не поддерживают элемент <permission> или когда указан неподдерживаемый атрибут type . Это обеспечивает более плавную работу и улучшенное взаимодействие с пользователем в различных браузерных средах.
<!-- Invalid `type` attribute value -->
<permission type="not-supported">
<p>Your browser does not support the specified <code>type</code>.</p>
</permission>
Более детальное программное обнаружение функций
Чтобы помочь вам определить поддержку конкретных типов разрешений, мы ввели статический метод ` isTypeSupported() :
HTMLPermissionElement.isTypeSupported('geolocation');
Этот метод возвращает логическое значение, указывающее, поддерживается ли указанный тип разрешения. В сочетании с существующим методом определения наличия функции ` typeof HTMLPermissionElement !== 'undefined' теперь можно программно убедиться как в поддержке элемента <permission> , так и в поддержке конкретных типов разрешений.
Обратите внимание, что вы также можете передавать несколько типов разрешений, разделенных пробелами (например, "camera microphone" ), и система вернет информацию о том, является ли вся строка допустимым значением "type" . Например, вызов функции isTypeSupported() со следующими параметрами вернет следующие результаты:
-
"camera"→true -
"geolocation"→true -
"camera geolocation"→false(Хотя каждый тип поддерживается по отдельности, комбинация не поддерживается.)
Обновлены названия событий
В Chrome 136 мы ввели два новых события взамен предыдущих:
-
onpromptdismiss(заменяетondismiss) -
onpromptaction(заменяетonresolve)
Новые события обеспечивают более понятную семантику и лучше соответствуют поведению элемента. Старые события будут устарели в Chrome 138, поэтому мы рекомендуем обновить обработчики событий соответствующим образом.
Поддержка иконок
Мы работаем над включением поддержки значков в элементе <permission> , запланированной для Chrome 138. Эта функция позволит отображать предопределенные значки, соответствующие типу разрешения, с ограниченными возможностями стилизации, такими как настройка цвета и размера. Точные детали API все еще уточняются.
В следующих примерах показаны значения по умолчанию, другой цвет заливки и отсутствие цвета заливки, но с черной обводкой.
Стиль по умолчанию
![]()
Цвет значка по умолчанию совпадает с цветом текста элемента, содержащего разрешение.
Модифицированный стиль
Приведенные ниже примеры демонстрируют образцовые изменения в стандартном стиле оформления.
Изменение цвета значка
::permission-icon {
fill: black;
}
![]()
Изменение контура значка
::permission-icon {
fill: white;
stroke: black;
stroke-width: 20px;
}
![]()
Отключить значок
После запуска иконка будет включена по умолчанию. Если вы хотите отключить иконку, это можно сделать с помощью следующего CSS-кода.
::permission-icon {
display: none;
}
Рекомендации по стилю
Для получения исчерпывающих рекомендаций по оформлению элемента <permission> , включая лучшие практики и ограничения, обратитесь к руководству по оформлению элемента <permission> . Этот ресурс содержит подробные инструкции, которые помогут вам эффективно оформить элемент в ваших приложениях.
Расширенная поддержка платформы и возможностей.
Элемент <permission> теперь поддерживает дополнительные платформы и возможности:
- Поддержка Android: Теперь этот элемент работает на устройствах Android, что расширяет его применимость на различных пользовательских платформах.
- Поддержка геолокации: Теперь вы можете запрашивать разрешения
type="geolocation"с помощью элемента<permission>с дополнительным логическим атрибутомpreciselocation. Хотя атрибутpreciselocationвлияет только на формулировку запроса, мы активно работаем над тем, чтобы в будущих обновлениях различать разрешения на определение приблизительного и точного местоположения.
Выводы
Эти улучшения элемента <permission> являются частью наших постоянных усилий по оптимизации запросов на получение разрешений и улучшению пользовательского опыта в интернете. Мы призываем вас поэкспериментировать с этими новыми функциями и предоставить обратную связь, чтобы помочь нам усовершенствовать и развить эту возможность.