Класс QWebEngineUrlScheme
Класс QWebEngineUrlScheme настраивает пользовательскую схему URL. Подробнее...
| Заголовок: | #include <QWebEngineUrlScheme> |
| CMake: | find_package(Qt6 COMPONENTS WebEngineCore REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake: | QT += webenginecore |
| С момента: | Qt 5.12 |
Открытые типы
| перечисление | Flag { SecureScheme, LocalScheme, LocalAccessAllowed, NoAccessAllowed, ServiceWorkersAllowed, …, CorsEnabled } |
| флаги | Flags |
| перечисление | SpecialPort { PortUnspecified } |
| перечисление | Syntax { HostPortAndUserInformation, HostAndPort, Host, Path } |
Открытые функции
| QWebEngineUrlScheme(QWebEngineUrlScheme &&that) | |
| QWebEngineUrlScheme(const QWebEngineUrlScheme &that) | |
| QWebEngineUrlScheme(const QByteArray &name) | |
| QWebEngineUrlScheme() | |
| QWebEngineUrlScheme & | operator=(QWebEngineUrlScheme &&that) |
| QWebEngineUrlScheme & | operator=(const QWebEngineUrlScheme &that) |
| ~QWebEngineUrlScheme() | |
| int | defaultPort() const |
| QWebEngineUrlScheme::Flags | flags() const |
| QByteArray | name() const |
| void | setDefaultPort(int newValue) |
| void | setFlags(QWebEngineUrlScheme::Flags newValue) |
| void | setName(const QByteArray &newValue) |
| void | setSyntax(QWebEngineUrlScheme::Syntax newValue) |
| QWebEngineUrlScheme::Syntax | syntax() const |
| bool | operator!=(const QWebEngineUrlScheme &that) const |
| bool | operator==(const QWebEngineUrlScheme &that) const |
Статические открытые члены
| void | registerScheme(const QWebEngineUrlScheme &scheme) |
| QWebEngineUrlScheme | schemeByName(const QByteArray &name) |
Подробное описание
Схема URL веб-движка описывает схему URL с точки зрения веб-движка, указывая, как должны анализироваться URL-адреса этой схемы, и какие ограничения безопасности должны быть наложены на ресурсы, исходящие из таких URL-адресов.
Пользовательские схемы URL должны быть настроены на ранней стадии запуска приложения, до создания любых классов Qt WebEngine. Как правило, это означает, что схемы необходимо настроить до создания экземпляра QGuiApplication или QApplication.
Каждая зарегистрированная конфигурация схемы применяется глобально ко всем профилям.
int main(int argc, char **argv)
{
QWebEngineUrlScheme scheme("myscheme");
scheme.setSyntax(QWebEngineUrlScheme::Syntax::HostAndPort);
scheme.setDefaultPort(2345);
scheme.setFlags(QWebEngineUrlScheme::SecureScheme);
QWebEngineUrlScheme::registerScheme(scheme);
...
} Чтобы фактически использовать пользовательскую схему URL, необходимо создать QWebEngineUrlSchemeHandler и зарегистрировать его в профиле.
См. также QWebEngineUrlSchemeHandler.
Документация по типам членов
перечисление QWebEngineUrlScheme::Flagфлаги QWebEngineUrlScheme::Flags
Этот тип перечисления определяет параметры безопасности, которые должны применяться к схеме URL.
| Константа | Значение | Описание |
|---|---|---|
QWebEngineUrlScheme::SecureScheme |
0x1 |
Указывает, что схема URL является потенциально надёжной. Этот флаг следует применять только к схемам URL, которые обеспечивают подлинность, конфиденциальность и целостность данных, либо с помощью шифрования, либо другими средствами. Примеры безопасных встроенных схем включают https (аутентифицированные и зашифрованные) и qrc (только локальные ресурсы), в то время как http является примером небезопасной схемы. |
QWebEngineUrlScheme::LocalScheme |
0x2 |
Указывает, что схема URL предоставляет доступ к локальным ресурсам. Цель этого флага — предотвратить доступ сетевому контенту к локальным ресурсам. Только схемы с флагом LocalAccessAllowed могут загружать ресурсы из схемы с флагом Local. Единственные встроенные схемы с этим флагом — file и qrc. |
QWebEngineUrlScheme::LocalAccessAllowed |
0x4 |
Указывает, что контент из этой схемы должен иметь разрешение на загрузку ресурсов из схем с флагом Local. |
QWebEngineUrlScheme::NoAccessAllowed |
0x8 |
Указывает, что весь контент из этой схемы должен быть принудительно иметь уникальные непрозрачные источники: ни у двух ресурсов не будет одинакового источника. |
QWebEngineUrlScheme::ServiceWorkersAllowed |
0x10 |
Указывает, что должен быть включён API Service Workers. |
QWebEngineUrlScheme::ViewSourceAllowed |
0x20 |
Указывает, что должна быть включена функция «Просмотреть исходный код». |
QWebEngineUrlScheme::ContentSecurityPolicyIgnored |
0x40 |
Указывает, что доступ к этой схеме должен обходить все проверки Content-Security-Policy. |
QWebEngineUrlScheme::CorsEnabled |
0x80 |
Включает совместное использование ресурсов между разными источниками (CORS) для этой схемы. Этот флаг необходим, например, для использования схемы с API Fetch или для доставки шрифтов CSS в другой источник. Соответствующие заголовки CORS автоматически генерируются классом QWebEngineUrlRequestJob. (Добавлен в Qt 5.14) |
Тип Flags является псевдонимом для QFlags<Flag>. Он хранит результат побитового ИЛИ флагов типа Flag.
перечисление QWebEngineUrlScheme::SpecialPort
Этот тип перечисления определяет специальные значения для defaultPort.
| Константа | Значение | Описание |
|---|---|---|
QWebEngineUrlScheme::PortUnspecified |
-1 |
Указывает, что схема URL не имеет элемента порта. |
перечисление QWebEngineUrlScheme::Syntax
Этот тип перечисления перечисляет типы синтаксиса URL.
Чтобы применить политику «одинаковый источник» к пользовательской схеме URL, WebEngine должен уметь вычислять источник (комбинацию хоста и порта) URL. Опции Host... указывают, что схема URL соответствует стандартному синтаксису URL (например, http) и автоматически включают политику «одинаковый источник». Опция Path указывает, что схема URL использует нестандартный синтаксис, и политика «одинаковый источник» не может быть применена.
| Константа | Значение | Описание |
|---|---|---|
QWebEngineUrlScheme::Syntax::HostPortAndUserInformation |
0 |
Компонент авторизации URL этого типа содержит все стандартные элементы: хост, порт, имя пользователя и пароль. URL без порта будет использовать defaultPort (который обязательно не должен быть PortUnspecified). |
QWebEngineUrlScheme::Syntax::HostAndPort |
1 |
Компонент авторизации URL этого типа содержит только элементы хост и порт. URL без порта будет использовать defaultPort (который обязательно не должен быть PortUnspecified). |
QWebEngineUrlScheme::Syntax::Host |
2 |
Компонент авторизации URL этого типа содержит только часть хоста и не имеет порта. defaultPort обязательно должен быть установлен в PortUnspecified. |
QWebEngineUrlScheme::Syntax::Path |
3 |
URL этого типа не имеет компонента авторизации вообще. Всё после имени схемы и разделителя (:) будет сохранено как есть без проверки или канонизации. Все URL такой схемы будут считаться имеющими одинаковое происхождение (если не используется флаг NoAccessAllowed). |
Документация функций-членов
QWebEngineUrlScheme::QWebEngineUrlScheme(QWebEngineUrlScheme &&that)
Перемещает that.
QWebEngineUrlScheme::QWebEngineUrlScheme(const QWebEngineUrlScheme &that)
Копирует that.
QWebEngineUrlScheme::QWebEngineUrlScheme(const QByteArray &name)
Создаёт схему URL веб-движка с заданным именем name.
QWebEngineUrlScheme::QWebEngineUrlScheme()
Создаёт схему URL веб-движка со значениями по умолчанию.
QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(QWebEngineUrlScheme &&that)
Перемещает that.
QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(const QWebEngineUrlScheme &that)
Копирует that.
QWebEngineUrlScheme::~QWebEngineUrlScheme()
Деструктор этого объекта.
int QWebEngineUrlScheme::defaultPort() const
Возвращает порт по умолчанию для этой схемы URL.
Значение по умолчанию — PortUnspecified.
См. также setDefaultPort().
QWebEngineUrlScheme::Flags QWebEngineUrlScheme::flags() const
Возвращает флаги для этой схемы URL.
Значение по умолчанию — пустой набор флагов.
QByteArray QWebEngineUrlScheme::name() const
Возвращает имя этой схемы URL.
Значение по умолчанию — пустая строка.
См. также setName().
[static] void QWebEngineUrlScheme::registerScheme(const QWebEngineUrlScheme &scheme)
Регистрирует scheme в парсере URL и модели безопасности веб-движка.
Рекомендуется регистрировать все пользовательские схемы URL с помощью этой функции при запуске приложения, даже если нужно использовать значения по умолчанию.
Предупреждение: Эта функция должна быть вызвана на ранней стадии запуска приложения, до создания любых классов WebEngine.
См. также schemeByName().
[static] QWebEngineUrlScheme QWebEngineUrlScheme::schemeByName(const QByteArray &name)
Возвращает схему URL веб-движка с заданным именем name или схему по умолчанию.
См. также registerScheme().
void QWebEngineUrlScheme::setDefaultPort(int newValue)
Устанавливает порт по умолчанию для этой схемы URL в newValue.
См. также defaultPort().
void QWebEngineUrlScheme::setFlags(QWebEngineUrlScheme::Flags newValue)
Устанавливает флаги для этой схемы URL в newValue.
void QWebEngineUrlScheme::setName(const QByteArray &newValue)
Устанавливает имя этой схемы URL в newValue.
Примечание: Имя автоматически преобразуется в нижний регистр.
См. также name().
void QWebEngineUrlScheme::setSyntax(QWebEngineUrlScheme::Syntax newValue)
Устанавливает тип синтаксиса этой схемы URL в newValue.
См. также Синтаксис и syntax().
QWebEngineUrlScheme::Syntax QWebEngineUrlScheme::syntax() const
Возвращает тип синтаксиса этой схемы URL.
Значение по умолчанию — Path.
См. также Синтаксис и setSyntax().
bool QWebEngineUrlScheme::operator!=(const QWebEngineUrlScheme &that) const
Возвращает true, если этот и that объекты не равны.
bool QWebEngineUrlScheme::operator==(const QWebEngineUrlScheme &that) const
Возвращает true, если этот и that объекты равны.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qwebengineurlscheme.html