Тип QML WebEngineScript
Позволяет программно внедрять скрипты в движок JavaScript. Подробнее...
| Оператор импорта: | import QtWebEngine 1.9 |
| С момента: | QtWebEngine 1.1 |
| Создаёт: | QQuickWebEngineScript |
Свойства
- injectionPoint : перечисление
- name : строка
- runOnSubframes : целое число
- sourceCode : строка
- sourceUrl : url
- worldId : перечисление
Подробное описание
Тип WebEngineScript позволяет программно внедрять так называемые пользовательские скрипты в движок JavaScript в разные моменты, определяемые свойством injectionPoint, во время загрузки веб-контента.
Скрипты могут выполняться либо в основном мире JavaScript, вместе со всем JavaScript, поступающим с веб-контента, либо в собственном изолированном мире. Хотя к DOM страницы можно получить доступ из любого мира, переменные JavaScript функции, определённой в одном мире, недоступны из другого. Свойство worldId предоставляет некоторые предопределённые идентификаторы для этой цели.
Поддерживаются следующие атрибуты Greasemonkey с Qt 5.8: @exclude, @include, @name, @match, и @run-at.
Используйте WebEngineView.userScripts для доступа к списку скриптов, прикреплённых к веб-представлению.
Документация по свойствам
injectionPoint : перечисление
Точка в процессе загрузки, в которой будет выполняться скрипт. Значение по умолчанию — Deferred.
| Постоянная | Описание |
|---|---|
WebEngineScript.DocumentCreation |
Скрипт выполнится как только документ будет создан. Это не подходит для любых операций с DOM. |
WebEngineScript.DocumentReady |
Скрипт выполнится как только DOM будет готов. Это эквивалентно срабатыванию события DOMContentLoaded в JavaScript. |
WebEngineScript.Deferred |
Скрипт выполнится при завершении загрузки страницы или через 500 мс после готовности документа, в зависимости от того, что произойдёт раньше. |
name : строка
Имя скрипта. Может быть полезно для извлечения конкретного скрипта из WebEngineView.userScripts.
runOnSubframes : целое число
Установите это свойство в значение true, если скрипт выполняется на каждой вложенной рамке страницы, или в значение false если он выполняется только для основной рамки. Значение по умолчанию — false.
sourceCode : строка
Это свойство содержит исходный код JavaScript пользовательского скрипта.
См. также sourceUrl.
sourceUrl : url
Это свойство содержит удалённое расположение источника пользовательского скрипта (если таковое имеется).
В отличие от sourceCode, это свойство позволяет ссылаться на пользовательские скрипты, которые ещё не загружены в память, например, хранящиеся на диске.
Установка этого свойства изменит свойство sourceCode скрипта.
Примечание: В настоящее время поддерживаются только источники на основе файлов.
См. также sourceCode.
worldId : перечисление
Идентификатор мира, определяющий, в каком изолированном мире выполняется скрипт.
| Постоянная | Описание |
|---|---|
WebEngineScript.MainWorld |
Мир, используемый веб-контентом страницы. Это может быть полезно для экспонирования пользовательских функций веб-контенту в определённых сценариях. |
WebEngineScript.ApplicationWorld |
Стандартный изолированный мир, используемый для функциональности на уровне приложения, реализованной в JavaScript. |
WebEngineScript.UserWorld |
Первый изолированный мир, который используется скриптами, заданными пользователем, если приложение не использует больше миров. Как правило, если эта функциональность доступна пользователям приложения, каждый отдельный скрипт, вероятно, должен иметь свой изолированный мир. |
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtwebengine-webenginescript.html