Класс QWebEngineScript
Класс QWebEngineScript инкапсулирует программу JavaScript. Подробнее...
| Заголовок: | #include <QWebEngineScript> |
| qmake: | QT += webenginewidgets |
| С момента: | Qt 5.5 |
Типы публичного интерфейса
| перечисление | InjectionPoint { DocumentCreation, DocumentReady, Deferred } |
| перечисление | ScriptWorldId { MainWorld, ApplicationWorld, UserWorld } |
Публичные функции
| QWebEngineScript() | |
| QWebEngineScript(const QWebEngineScript &other) | |
| ~QWebEngineScript() | |
| InjectionPoint | injectionPoint() const |
| bool | isNull() const |
| QString | name() const |
| bool | runsOnSubFrames() const |
| void | setInjectionPoint(InjectionPoint p) |
| void | setName(const QString &scriptName) |
| void | setRunsOnSubFrames(bool on) |
| void | setSourceCode(const QString &scriptSource) |
| void | setWorldId(quint32 id) |
| QString | sourceCode() const |
| void | swap(QWebEngineScript &other) |
| quint32 | worldId() const |
| bool | operator!=(const QWebEngineScript &other) const |
| QWebEngineScript & | operator=(const QWebEngineScript &other) |
| bool | operator==(const QWebEngineScript &other) const |
Подробное описание
Класс QWebEngineScript инкапсулирует программу JavaScript.
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()
Создает нулевой скрипт.
QWebEngineScript::QWebEngineScript(const QWebEngineScript &other)
Создает пользовательский скрипт, используя содержимое other.
QWebEngineScript::~QWebEngineScript()
Удаляет скрипт.
InjectionPoint QWebEngineScript::injectionPoint() const
Возвращает точку в процессе загрузки, в которой будет выполняться скрипт. Значение по умолчанию — QWebEngineScript::Deferred.
См. также setInjectionPoint().
bool QWebEngineScript::isNull() const
Возвращает true, если скрипт равен null; в противном случае возвращает false.
QString QWebEngineScript::name() const
Возвращает имя скрипта. Может быть полезно для извлечения определенного скрипта из QWebEngineScriptCollection.
См. также setName(), QWebEngineScriptCollection::findScript() и QWebEngineScriptCollection::findScripts().
bool QWebEngineScript::runsOnSubFrames() const
Возвращает true, если скрипт выполняется на каждой вкладке страницы, или false, если он выполняется только для основной вкладки.
См. также setRunsOnSubFrames().
void QWebEngineScript::setInjectionPoint(InjectionPoint p)
Устанавливает точку выполнения скрипта на p.
См. также injectionPoint() и InjectionPoint.
void QWebEngineScript::setName(const QString &scriptName)
Устанавливает имя скрипта на scriptName.
См. также name().
void QWebEngineScript::setRunsOnSubFrames(bool on)
Выполняет скрипт на подрамках дополнительно к основному фрейму, если on возвращает true.
См. также runsOnSubFrames().
void QWebEngineScript::setSourceCode(const QString &scriptSource)
Устанавливает исходный код скрипта на scriptSource.
См. также sourceCode().
void QWebEngineScript::setWorldId(quint32 id)
Устанавливает идентификатор мира изолированного мира на id при выполнении этого скрипта.
См. также worldId().
QString QWebEngineScript::sourceCode() const
Возвращает исходный код скрипта.
См. также setSourceCode().
void QWebEngineScript::swap(QWebEngineScript &other)
Меняет содержимое скрипта с содержимым other.
quint32 QWebEngineScript::worldId() const
Возвращает идентификатор мира, определяющий, в каком мире выполняется скрипт.
См. также setWorldId().
bool QWebEngineScript::operator!=(const QWebEngineScript &other) const
Возвращает true если скрипт не равен other, в противном случае возвращает false.
QWebEngineScript &QWebEngineScript::operator=(const QWebEngineScript &other)
Присваивает other скрипту.
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-5.9/qwebenginescript.html