Spec-Zone.ru › Qt 5.14

Класс QQuickWebEngineScript

Позволяет вставлять скрипты в движок JavaScript. Подробнее...

Заголовок: #include <QQuickWebEngineScript>
С момента: Qt 5.9
Инициализируется: WebEngineScript
Наследует: QObject

Этот класс был введён в Qt 5.9.

  • Список всех членов, включая унаследованные

Публичные типы

Перечисление InjectionPoint { DocumentCreation, DocumentReady, Deferred }
Перечисление ScriptWorldId { MainWorld, ApplicationWorld, UserWorld }

Свойства

  • injectionPoint : InjectionPoint
  • name : QString
  • runOnSubframes : bool
  • sourceCode : QString
  • sourceUrl : QUrl
  • worldId : ScriptWorldId

Публичные функции

QQuickWebEngineScript(QObject *parent = Q_NULLPTR)
QQuickWebEngineScript::InjectionPoint injectionPoint() const
QString name() const
bool runOnSubframes() const
void setInjectionPoint(QQuickWebEngineScript::InjectionPoint injectionPoint)
void setName(const QString &name)
void setRunOnSubframes(bool on)
void setSourceCode(const QString &code)
void setSourceUrl(const QUrl &url)
void setWorldId(QQuickWebEngineScript::ScriptWorldId scriptWorldId)
QString sourceCode() const
QUrl sourceUrl() const
QString toString() const
QQuickWebEngineScript::ScriptWorldId worldId() const

Сигналы

void injectionPointChanged(QQuickWebEngineScript::InjectionPoint injectionPoint)
void nameChanged(const QString &name)
void runOnSubframesChanged(bool on)
void sourceCodeChanged(const QString &code)
void sourceUrlChanged(const QUrl &url)
void worldIdChanged(QQuickWebEngineScript::ScriptWorldId scriptWorldId)

Подробное описание

Тип QQuickWebEngineScript позволяет программно вставить так называемые пользовательские скрипты в движок JavaScript в различные моменты, определяемые свойством injectionPoint, во время загрузки веб-контента.

Скрипты могут выполняться либо в основном мире JavaScript, вместе со всем остальным JavaScript, полученным из веб-контента, либо в собственном изолированном мире. Хотя к DOM страницы можно получить доступ из любого мира, переменные JavaScript функции, определённые в одном мире, недоступны из другого. Свойство worldId предоставляет некоторые предопределённые идентификаторы для этой цели.

Документация по типам членов

перечисление QQuickWebEngineScript::InjectionPoint

Точка в процессе загрузки, в которой будет выполняться скрипт.

Константа Значение Описание
QQuickWebEngineScript::DocumentCreation 2 Скрипт будет выполнен сразу после создания документа. Это не подходит для каких-либо операций с DOM.
QQuickWebEngineScript::DocumentReady 1 Скрипт будет выполнен сразу после готовности DOM. Это эквивалентно срабатыванию события DOMContentLoaded в JavaScript.
QQuickWebEngineScript::Deferred 0 Скрипт будет выполнен по завершении загрузки страницы или через 500 мс после готовности документа, в зависимости от того, что произойдёт раньше.

перечисление QQuickWebEngineScript::ScriptWorldId

Идентификатор мира, определяющий, в каком изолированном мире выполняется скрипт. Помимо этих предопределённых идентификаторов можно использовать пользовательские идентификаторы, но они должны быть целыми числами в диапазоне от 0 до 256.

Константа Значение Описание
QQuickWebEngineScript::MainWorld 0 Мир, используемый веб-контентом страницы. Может быть полезен для экспонирования пользовательских функций для веб-контента в определённых сценариях.
QQuickWebEngineScript::ApplicationWorld 1 Предварительно изолированный мир, используемый для функциональности уровня приложения, реализованной на JavaScript.
QQuickWebEngineScript::UserWorld 2 Первый изолированный мир, используемый скриптами, заданными пользователями, если приложение не использует больше миров. Как правило, если эта функциональность доступна пользователям приложения, каждому отдельному скрипту, вероятно, потребуется свой изолированный мир.
END_OF_DOCUMENT_MARKER

Документация по свойствам

injectionPoint : InjectionPoint

Это свойство содержит точку в процессе загрузки, в которой будет выполнен скрипт.

Значение по умолчанию — Deferred.

Функции доступа:

QQuickWebEngineScript::InjectionPoint injectionPoint() const
void setInjectionPoint(QQuickWebEngineScript::InjectionPoint injectionPoint) [см. примечание ниже]

Примечание: Данную функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void injectionPointChanged(QQuickWebEngineScript::InjectionPoint injectionPoint)

name : QString

Это свойство содержит имя скрипта.

Полезно для извлечения определенного скрипта из QQuickWebEngineProfile::userScripts.

Функции доступа:

QString name() const
void setName(const QString &name) [см. примечание ниже]

Примечание: Данную функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void nameChanged(const QString &name)

runOnSubframes : bool

Это свойство указывает, выполняется ли скрипт на каждом фрейме или только на главном фрейме.

Установите это свойство в true если скрипт выполняется на каждом фрейме страницы или в false если он выполняется только для главного фрейма. Значение по умолчанию — false.

Функции доступа:

bool runOnSubframes() const
void setRunOnSubframes(bool on) [см. примечание ниже]

Примечание: Данную функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void runOnSubframesChanged(bool on)

sourceCode : QString

Это свойство содержит исходный код JavaScript пользовательского скрипта.

Функции доступа:

QString sourceCode() const
void setSourceCode(const QString &code) [см. примечание ниже]

Примечание: Данную функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void sourceCodeChanged(const QString &code)

См. также QQuickWebEngineScript::sourceUrl.

sourceUrl : QUrl

Это свойство содержит удаленное расположение источника пользовательского скрипта (если таковое имеется).

В отличие от sourceCode, это свойство позволяет ссылаться на пользовательские скрипты, которые еще не загружены в память, например, когда они хранятся на диске.

Установка этого свойства изменит sourceCode скрипта.

Примечание: В настоящее время поддерживаются только источники на основе файлов.

Функции доступа:

QUrl sourceUrl() const
void setSourceUrl(const QUrl &url) [см. примечание ниже]

Примечание: Данную функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void sourceUrlChanged(const QUrl &url)

См. также QQuickWebEngineScript::sourceCode.

worldId : ScriptWorldId

Это свойство содержит идентификатор мира, определяющий изолированный мир, в котором выполняется скрипт.

Функции доступа:

QQuickWebEngineScript::ScriptWorldId worldId() const
void setWorldId(QQuickWebEngineScript::ScriptWorldId scriptWorldId) [см. примечание ниже]

Примечание: Данную функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

Сигнал уведомления:

void worldIdChanged(QQuickWebEngineScript::ScriptWorldId scriptWorldId)

Документация по функциям-членам

QQuickWebEngineScript::QQuickWebEngineScript(QObject *parent = Q_NULLPTR)

Создает новый QQuickWebEngineScript с родителем parent.

QString QQuickWebEngineScript::toString() const

Возвращает объект скрипта в виде строки.

Примечание: Данную функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qquickwebenginescript.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API