Класс QWebEngineUrlScheme
Класс QWebEngineUrlScheme настраивает пользовательскую схему URL. Подробнее...
| Заголовок: | #include <QWebEngineUrlScheme> |
| С тех пор: | Qt 5.12 |
Этот класс был представлен в 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::HostPortAndUserInformation |
0 |
Компонент "авторитет" URL данного типа содержит все стандартные элементы: хост, порт, имя пользователя и пароль. URL без порта будет использовать defaultPort (который обязательно не должен быть PortUnspecified). |
QWebEngineUrlScheme::HostAndPort |
1 |
Компонент "авторитет" URL данного типа содержит только элементы хост и порт. URL без порта будет использовать defaultPort (который обязательно не должен быть PortUnspecified). |
QWebEngineUrlScheme::Host |
2 |
Компонент "авторитет" URL данного типа содержит только часть хоста и не имеет порта. defaultPort обязательно должен быть установлен в PortUnspecified. |
QWebEngineUrlScheme::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.
QWebEngineUrlScheme::Syntax QWebEngineUrlScheme::syntax() const
Возвращает тип синтаксиса этой схемы URL.
Значение по умолчанию — Path.
См. также Syntax и 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-5.14/qwebengineurlscheme.html