Класс QWebEngineScript
Класс QWebEngineScript инкапсулирует JavaScript-программу. Подробнее...
| Заголовок: | #include <QWebEngineScript> |
| qmake: | QT += webenginewidgets |
| С: | Qt 5.5 |
Этот класс был представлен в Qt 5.5.
Открытые типы
| перечисление | InjectionPoint { DocumentCreation, DocumentReady, Deferred } |
| перечисление | ScriptWorldId { MainWorld, ApplicationWorld, UserWorld } |
Открытые функции
| QWebEngineScript(const QWebEngineScript &other) | |
| QWebEngineScript() | |
| QWebEngineScript & | operator=(const QWebEngineScript &other) |
| ~QWebEngineScript() | |
| QWebEngineScript::InjectionPoint | injectionPoint() const |
| bool | isNull() 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 | setWorldId(quint32 id) |
| QString | sourceCode() 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.
См. также 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(QWebEngineScript::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 при выполнении этого скрипта.
Должно быть между 0 и 256.
См. также 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.
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.15/qwebenginescript.html