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::SecureScheme0x1URL スキームが信頼できる可能性があることを示します。このフラグは、暗号化または他の手段によってデータの真正性、機密性、完全性を保証するURLスキームにのみ適用されるべきです。安全な組み込みスキームの例としては、https (認証および暗号化)、qrc (ローカルリソースのみ)があり、http は安全でないスキームの例である。
QWebEngineUrlScheme::LocalScheme0x2URLスキームがローカルリソースへのアクセスを提供することを示す。このフラグの目的は、ネットワークコンテンツがローカルリソースにアクセスできないようにすることです。LocalAccessAllowed フラグを持つスキームのみが、LocalScheme フラグを持つスキームからリソースをロードすることができます。このフラグを持つ唯一の組み込みスキームはfile です。
QWebEngineUrlScheme::LocalAccessAllowed0x4このスキームのコンテンツがLocalScheme フラグを持つスキームからリソースをロードすることを許可することを示します。
QWebEngineUrlScheme::NoAccessAllowed0x8このスキームからのすべてのコンテンツが一意の不透明なオリジンを持つように強制されることを示します: 2つのリソースが同じオリジンを持つことはありません。
QWebEngineUrlScheme::ServiceWorkersAllowed0x10Service Workers API を有効にすることを示します。
QWebEngineUrlScheme::ViewSourceAllowed0x20ビューソース機能を有効にすることを示します。
QWebEngineUrlScheme::ContentSecurityPolicyIgnored0x40このスキームへのアクセスがすべての Content-Security-Policy チェックをバイパスすることを示します。
QWebEngineUrlScheme::CorsEnabled0x80このスキームに対して、CORS(cross-origin resource sharing)を有効にします。このフラグは、異なるオリジンのドキュメントからコンテンツを読み込むために必要です。適切な CORS ヘッダはQWebEngineUrlRequestJob クラスによって自動的に生成されます。デフォルトでは、httphttps だけがCORS有効です。(Qt 5.14 で追加)
QWebEngineUrlScheme::FetchApiAllowed (since Qt 6.6)0x100HTML5 fetch API およびXMLHttpRequest.send で使用する URL スキームを、ボディ付きで有効にします。デフォルトでは、httphttps のみが、Fetch API を使用するか、XMLHttpRequest のボディ付きで送信できます。

Flags型はQFlags<Flag>のtypedefである。Flag値のORの組み合わせを格納します。

enum QWebEngineUrlScheme::SpecialPort

この列挙型は、defaultPort の特別な値を定義します。

定数説明
QWebEngineUrlScheme::PortUnspecified-1URLスキームにport要素がないことを示す。

enum class QWebEngineUrlScheme::Syntax

この列挙型は URL 構文のタイプを列挙する。

カスタムURLスキームに同一生成元ポリシーを適用するには、WebEngine 、URLの生成元(ホストとポートの組み合わせ)を計算できなければならない。Host... オプションは、URLスキームが標準的なURL構文に準拠していることを示し(http)、自動的に同一生成元ポリシーを有効にします。Path オプションは、URLスキームが非標準の構文を使用し、同一オリジンポリシーを適用できないことを示します。

定数説明
QWebEngineUrlScheme::Syntax::HostPortAndUserInformation0このタイプのURLのauthorityコンポーネントは、host、port、user name、passwordという標準的な要素をすべて持っています。ポートのないURLはdefaultPort (PortUnspecifiedあってはならない)を使用する。
QWebEngineUrlScheme::Syntax::HostAndPort1このタイプのURLのauthorityコンポーネントは、hostとportの要素のみを持つ。ポートのないURLはdefaultPort (PortUnspecified であってはならない)を使用する。
QWebEngineUrlScheme::Syntax::Host2このタイプのURLのauthorityコンポーネントはhost部分のみを持ち、portは持たない。defaultPortPortUnspecified に設定されなければならない
QWebEngineUrlScheme::Syntax::Path3このタイプの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 に設定します。

Flags およびflags() も参照して ください。

void QWebEngineUrlScheme::setName(const QByteArray &newValue)

この URL スキームの名前をnewValue に設定します。

注釈 名前は自動的に小文字に変換されます。

name()も参照して ください。

void QWebEngineUrlScheme::setSyntax(QWebEngineUrlScheme::Syntax newValue)

この URL スキームの構文タイプをnewValue に設定します。

Syntax およびsyntax()も参照して ください。

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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。