Класс 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 предоставляет некоторые предопределённые идентификаторы для этой цели.
Примечание: Расширения Chromium, такие как @include, @match, и @exclude, не поддерживаются.
Используйте 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, если скрипт нулевой; в противном случае возвращает 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() и QWebEngineScript::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/archives/qt-5.6/qwebenginescript.html