WebEngineScript QML 类型

允许程序性地在 JavaScript 引擎中注入脚本。 更多信息...

导入语句import QtWebEngine
QtWebEngine 1.1
实例化 QWebEngineScript

属性

详细描述

WebEngineScript 类型允许在加载网页内容时的不同点(由 injectionPoint 确定)程序化地注入所谓的 用户脚本

这些脚本可以在主 JavaScript 世界 中执行,与来自网页内容的其余 JavaScript 一起,或者在自己的独立世界中执行。虽然可以从任何世界访问页面 DOM,但定义在一个世界中的函数的 JavaScript 变量无法从另一个世界中访问。 worldId 属性为此目的提供了一些预定义的 ID。

支持以下 Greasemonkey 属性:@exclude@include@name@match@run-at

使用 WebEngineScriptCollection 访问附加到网页视图的脚本列表。

属性文档

injectionPoint : 枚举

脚本将在加载过程中执行的位置。默认值是 Deferred

常量描述
WebEngineScript.DocumentCreation脚本将在文档创建后立即执行。这不适合任何 DOM 操作。
WebEngineScript.DocumentReady脚本将在 DOM 准备好后立即运行。这等价于在 JavaScript 中触发 DOMContentLoaded 事件。
WebEngineScript.Deferred脚本将在页面加载完成时运行,或文档准备好后 500 毫秒,哪个先到就先运行。

name : 字符串

脚本的名称。可以通过 WebEngineScriptCollection.find 方法从中检索特定的脚本。


runOnSubframes : 整数

将此属性设置为 true 如果脚本在页面上的每一帧都执行,或者设置为 false 如果它只为主框架执行。默认值是 false


sourceCode : 字符串

此属性持有用户脚本的JavaScript源代码。

另请参阅sourceUrl


sourceUrl : URL

此属性持有用户脚本(如果有)的远程源位置。

sourceCode 不同,此属性允许引用尚未加载到内存中的用户脚本,例如,当存储在磁盘上时。

设置此属性将更改脚本的 sourceCode

注意:目前,仅支持基于文件的资源。

另请参阅sourceCode


worldId : 枚举

定义脚本在哪个隔离世界中执行的world ID。

常量描述
WebEngineScript.MainWorld由页面网页内容使用的world。在某些情况下,它可以用来公开自定义功能。
WebEngineScript.ApplicationWorld用于在JavaScript中实现应用程序级功能时默认使用的隔离world。
WebEngineScript.UserWorld如果应用程序未使用更多world,则脚本设置用户首次使用的孤立world。一般来说,如果该功能向应用程序用户提供,则每个独立脚本可能应该得到自己的孤立world。

© 2024 Qt公司有限公司。此处包含的文档贡献是该各自所有者的版权。此处提供的文档是根据自由软件基金会发布的 GNU自由文档许可证版本1.3 的条款许可的。Qt及其相关徽标是芬兰和/或其他国家的Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。