Класс QWebEngineScript
Класс QWebEngineScript инкапсулирует программу на языке JavaScript. Подробнее...
| Заголовок: | #include <QWebEngineScript> |
| CMake: | find_package(Qt6 COMPONENTS WebEngineCore REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake: | QT += webenginecore |
| С момента: | Qt 5.5 |
Типы public
| Перечисление | InjectionPoint { DocumentCreation, DocumentReady, Deferred } |
| Перечисление | ScriptWorldId { MainWorld, ApplicationWorld, UserWorld } |
Функции public
| QWebEngineScript(const QWebEngineScript &other) | |
| QWebEngineScript() | |
| QWebEngineScript & | operator=(const QWebEngineScript &other) |
| ~QWebEngineScript() | |
| QWebEngineScript::InjectionPoint | injectionPoint() const |
| QString | name() const |
| bool | runsOnSubFrames() const |
| void | setInjectionPoint(QWebEngineScript::InjectionPoint p) |
| void | setName(const QString &scriptName) |
| void | setRunsOnSubFrames(bool on) |
| void | setSourceCode(const QString &scriptSource) |
| void | setSourceUrl(const QUrl &url) |
| void | setWorldId(quint32 id) |
| QString | sourceCode() const |
| QUrl | sourceUrl() const |
| void | swap(QWebEngineScript &other) |
| quint32 | worldId() const |
| bool | operator!=(const QWebEngineScript &other) const |
| bool | operator==(const QWebEngineScript &other) const |
Подробное описание
QWebEngineScript позволяет программно внедрять так называемые пользовательские скрипты в движок JavaScript в различные моменты, определяемые injectionPoint(), во время загрузки веб-содержимого.
Скрипты могут выполняться либо в главном JavaScript-мире вместе со всем JavaScript, поступающим от веб-содержимого, либо в собственном изолированном мире. Хотя DOM страницы можно получить из любого мира, переменные JavaScript функции, определённой в одном мире, недоступны из другого. ScriptWorldId предоставляет некоторые предопределённые идентификаторы для этой цели.
Следующие атрибуты Greasemonkey поддерживаются начиная с Qt 5.8: @exclude, @include, @name, @match, и @run-at.
Используйте QWebEnginePage::scripts() и QWebEngineProfile::scripts() для доступа к коллекции скриптов, связанных с одной страницей или несколькими страницами, использующими один и тот же профиль.
См. также Вставка скриптов.
Документация по типам членов
Перечисление QWebEngineScript::InjectionPoint
Это перечисление описывает момент внедрения скрипта:
| Константа | Значение | Описание |
|---|---|---|
QWebEngineScript::DocumentCreation |
2 |
Скрипт будет выполнен сразу после создания документа. Это не подходит для любых операций с DOM. |
QWebEngineScript::DocumentReady |
1 |
Скрипт выполнится как только DOM будет готов. Это эквивалентно срабатыванию события DOMContentLoaded в JavaScript. |
QWebEngineScript::Deferred |
0 |
Скрипт выполнится, когда завершится загрузка страницы или через 500 мс после готовности документа, в зависимости от того, что наступит раньше. |
Перечисление QWebEngineScript::ScriptWorldId
Это перечисление предоставляет предопределённые идентификаторы миров для изоляции пользовательских скриптов в различные миры:
| Константа | Значение | Описание |
|---|---|---|
QWebEngineScript::MainWorld |
0 |
Мир, используемый содержимым веб-страницы. Он может быть полезен для экспонирования пользовательских функций веб-содержимому в определённых сценариях. |
QWebEngineScript::ApplicationWorld |
1 |
Основной изолированный мир, используемый для функциональности на уровне приложения, реализованной в JavaScript. |
QWebEngineScript::UserWorld |
2 |
Первый изолированный мир, который будет использоваться скриптами, заданными пользователями, если приложение не использует больше миров. Как правило, если эта функциональность доступна пользователям приложения, каждый отдельный скрипт, вероятно, должен иметь свой собственный изолированный мир. |
Документация по функциям-членам
QWebEngineScript::QWebEngineScript(const QWebEngineScript &other)
Создаёт пользовательский скрипт, используя содержимое other.
QWebEngineScript::QWebEngineScript()
Создаёт нулевой скрипт.
QWebEngineScript &QWebEngineScript::operator=(const QWebEngineScript &other)
Присваивает other скрипту.
QWebEngineScript::~QWebEngineScript()
Уничтожает скрипт.
QWebEngineScript::InjectionPoint QWebEngineScript::injectionPoint() const
Возвращает момент в процессе загрузки, в котором будет выполняться скрипт. Значение по умолчанию — QWebEngineScript::Deferred.
Примечание: Функция-член для свойства injectionPoint.
См. также setInjectionPoint().
QString QWebEngineScript::name() const
Возвращает имя скрипта. Может быть полезно для извлечения определённого скрипта из QWebEngineScriptCollection.
Примечание: Функция-член для свойства name.
См. также setName() и QWebEngineScriptCollection::find().
bool QWebEngineScript::runsOnSubFrames() const
Возвращает true если скрипт выполняется на каждой вложенной странице или false если он выполняется только на главной странице.
Примечание: Функция-член для свойства runsOnSubFrames.
См. также setRunsOnSubFrames().
void QWebEngineScript::setInjectionPoint(QWebEngineScript::InjectionPoint p)
Устанавливает точку, в которой будет выполняться сценарий, в p.
Примечание: Функция-сеттер для свойства injectionPoint.
См. также injectionPoint() и InjectionPoint.
void QWebEngineScript::setName(const QString &scriptName)
Устанавливает имя сценария в scriptName.
Примечание: Функция-сеттер для свойства name.
См. также name().
void QWebEngineScript::setRunsOnSubFrames(bool on)
Выполняет сценарий на подрамках помимо основного, если on возвращает true.
Примечание: Функция-сеттер для свойства runsOnSubFrames.
См. также runsOnSubFrames().
void QWebEngineScript::setSourceCode(const QString &scriptSource)
Устанавливает исходный код сценария в scriptSource.
Примечание: Функция-сеттер для свойства sourceCode.
См. также sourceCode().
void QWebEngineScript::setWorldId(quint32 id)
Устанавливает идентификатор мира изолированного мира в id при выполнении этого сценария.
Должно быть между 0 и 256.
Примечание: Функция-сеттер для свойства worldId.
См. также worldId().
QString QWebEngineScript::sourceCode() const
Возвращает исходный код сценария.
Примечание: Функция-геттер для свойства sourceCode.
См. также setSourceCode().
void QWebEngineScript::swap(QWebEngineScript &other)
Обменивается содержимым сценария с содержимым other.
quint32 QWebEngineScript::worldId() const
Возвращает идентификатор мира, определяющий, в каком мире выполняется сценарий.
Примечание: Функция-геттер для свойства worldId.
См. также setWorldId().
bool QWebEngineScript::operator!=(const QWebEngineScript &other) const
Возвращает true если сценарий не равен other, в противном случае возвращает false.
bool QWebEngineScript::operator==(const QWebEngineScript &other) const
Возвращает true если сценарий равен other, в противном случае возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qwebenginescript.html