Класс 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::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.
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.15/qwebengineurlscheme.html