QWebEngineUrlScheme Class
QWebEngineUrlScheme クラスは、カスタム URL スキームを設定します。詳細...
Header: | #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) |
詳細説明
Web エンジンの URL スキームは、Web エンジンの視点から 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()
デフォルト値を持つウェブエンジン URL スキームを構築します。
[explicit]
QWebEngineUrlScheme::QWebEngineUrlScheme(const QByteArray &name)
指定されたname を持つ Web エンジン 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 スキームのフラグを返します。
デフォルト値は空のフラグ・セットです。
Flags およびsetFlags() も参照して ください。
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)
指定されたname またはデフォルトで構築されたスキームを持つ Web エンジン URL スキームを返します。
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
this とthat オブジェクトが等しい場合、true
を返します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。