QWebEngineUrlScheme Class
QWebEngineUrlScheme クラスは、カスタム URL スキームを設定します。詳細...
ヘッダー | #include <QWebEngineUrlScheme> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
qmake: | QT += webenginecore |
パブリックな型
enum | Flag { SecureScheme, LocalScheme, LocalAccessAllowed, NoAccessAllowed, ServiceWorkersAllowed, …, FetchApiAllowed } |
flags | Flags |
enum | SpecialPort { PortUnspecified } |
enum class | Syntax { HostPortAndUserInformation, HostAndPort, Host, Path } |
パブリック関数
QWebEngineUrlScheme() | |
QWebEngineUrlScheme(const QByteArray &name) | |
QWebEngineUrlScheme(const QWebEngineUrlScheme &that) | |
QWebEngineUrlScheme(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 |
QWebEngineUrlScheme & | operator=(QWebEngineUrlScheme &&that) |
QWebEngineUrlScheme & | operator=(const QWebEngineUrlScheme &that) |
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も参照してください 。
メンバ型ドキュメント
enum QWebEngineUrlScheme::Flag
flags QWebEngineUrlScheme::Flags
この enum 型は、URL スキームに適用するセキュリティオプションを指定します。
定数 | 値 | 説明 |
---|---|---|
QWebEngineUrlScheme::SecureScheme | 0x1 | URL スキームが信頼できる可能性があることを示します。このフラグは、暗号化または他の手段によってデータの真正性、機密性、完全性を保証するURLスキームにのみ適用されるべきです。安全な組み込みスキームの例としては、https (認証および暗号化)、qrc (ローカルリソースのみ)があり、http は安全でないスキームの例である。 |
QWebEngineUrlScheme::LocalScheme | 0x2 | URLスキームがローカルリソースへのアクセスを提供することを示す。このフラグの目的は、ネットワークコンテンツがローカルリソースにアクセスできないようにすることです。LocalAccessAllowed フラグを持つスキームのみが、LocalScheme フラグを持つスキームからリソースをロードすることができます。このフラグを持つ唯一の組み込みスキームはfile です。 |
QWebEngineUrlScheme::LocalAccessAllowed | 0x4 | このスキームのコンテンツがLocalScheme フラグを持つスキームからリソースをロードすることを許可することを示します。 |
QWebEngineUrlScheme::NoAccessAllowed | 0x8 | このスキームからのすべてのコンテンツが一意の不透明なオリジンを持つように強制されることを示します: 2つのリソースが同じオリジンを持つことはありません。 |
QWebEngineUrlScheme::ServiceWorkersAllowed | 0x10 | Service Workers API を有効にすることを示します。 |
QWebEngineUrlScheme::ViewSourceAllowed | 0x20 | ビューソース機能を有効にすることを示します。 |
QWebEngineUrlScheme::ContentSecurityPolicyIgnored | 0x40 | このスキームへのアクセスがすべての Content-Security-Policy チェックをバイパスすることを示します。 |
QWebEngineUrlScheme::CorsEnabled | 0x80 | このスキームに対して、CORS(cross-origin resource sharing)を有効にします。このフラグは、異なるオリジンのドキュメントからコンテンツを読み込むために必要です。適切な CORS ヘッダはQWebEngineUrlRequestJob クラスによって自動的に生成されます。デフォルトでは、http とhttps だけがCORS有効です。(Qt 5.14 で追加) |
QWebEngineUrlScheme::FetchApiAllowed (since Qt 6.6) | 0x100 | HTML5 fetch API およびXMLHttpRequest.send で使用する URL スキームを、ボディ付きで有効にします。デフォルトでは、http とhttps のみが、Fetch API を使用するか、XMLHttpRequest のボディ付きで送信できます。 |
Flags型はQFlags<Flag>のtypedefである。Flag値のORの組み合わせを格納します。
enum QWebEngineUrlScheme::SpecialPort
この列挙型はdefaultPort の特別な値を定義する。
定数 | 値 | 説明 |
---|---|---|
QWebEngineUrlScheme::PortUnspecified | -1 | URL スキームに port 要素がないことを示す。 |
enum class QWebEngineUrlScheme::Syntax
この列挙型はURL構文のタイプを列挙する。
カスタムURLスキームに同一生成元ポリシーを適用するには、WebEngine 、URLの生成元(ホストとポートの組み合わせ)を計算できなければならない。Host...
オプションは、URLスキームが標準的なURL構文(http
のようなもの)に準拠しており、自動的に同一生成元ポリシーが有効になることを示します。Path
オプションは、URLスキームが非標準の構文を使用し、同一オリジンポリシーを適用できないことを示します。
定数 | 値 | 説明 |
---|---|---|
QWebEngineUrlScheme::Syntax::HostPortAndUserInformation | 0 | このタイプのURLのauthorityコンポーネントは、host、port、user name、passwordという標準的な要素をすべて持っています。ポートのないURLはdefaultPort (PortUnspecified であってはならない)を使用する。 |
QWebEngineUrlScheme::Syntax::HostAndPort | 1 | このタイプのURLのauthorityコンポーネントは、hostとportの要素のみを持つ。ポートのないURLはdefaultPort (PortUnspecified であってはならない)を使用する。 |
QWebEngineUrlScheme::Syntax::Host | 2 | このタイプのURLのauthorityコンポーネントはhost部分のみを持ち、portは持たない。defaultPort はPortUnspecified に設定されなければならない。 |
QWebEngineUrlScheme::Syntax::Path | 3 | このタイプのURLは、authorityコンポーネントをまったく持ちません。スキーム名と区切り文字(:)の後のすべては、検証や正規化されることなく、そのまま保存されます。このようなスキームのURLはすべて同じオリジンを持つとみなされます(NoAccessAllowed フラグが使用されていない限り)。 |
メンバ関数のドキュメント
QWebEngineUrlScheme::QWebEngineUrlScheme()
デフォルト値でWebエンジンのURLスキームを構築します。
[explicit]
QWebEngineUrlScheme::QWebEngineUrlScheme(const QByteArray &name)
与えられたname でウェブエンジンの URL スキームを構築する。
QWebEngineUrlScheme::QWebEngineUrlScheme(const QWebEngineUrlScheme &that)
コピーthat.
QWebEngineUrlScheme::QWebEngineUrlScheme(QWebEngineUrlScheme &&that)
ムーブthat.
[noexcept]
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)
ウェブエンジンの URL パーサーとセキュリティモデルにscheme を登録します。
デフォルトのオプションを使用する場合でも、アプリケーションの起動時に、すべてのカスタム 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
このオブジェクトとthat オブジェクトが等しくない場合はtrue
を返す。
QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(QWebEngineUrlScheme &&that)
ムーブthat.
QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(const QWebEngineUrlScheme &that)
コピーthat.
bool QWebEngineUrlScheme::operator==(const QWebEngineUrlScheme &that) const
このオブジェクトとthat オブジェクトが等しい場合、true
を返す。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.