- class QWebEngineScript#
QWebEngineScript类封装了一个 JavaScript 程序。 更多信息…摘要#
属性#
方法#
def
__init__()def
injectionPoint()def
name()def
__ne__()def
__eq__()def
setName()def
setSourceCode()def
setSourceUrl()def
setWorldId()def
sourceCode()def
sourceUrl()def
swap()def
worldId()
注意
此文档可能包含从 C++ 自动转换为 Python 的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译存在问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来告知我们。
详细说明#
QWebEngineScript允许程序化地在加载网络内容的过程中,在不同的点(由injectionPoint()决定)向 JavaScript 引擎注入所谓的 用户脚本。脚本可以在主JavaScript 世界中执行,与来自网页内容的其余JavaScript一起,或者在自己的隔离世界中执行。虽然可以从任何世界访问页面DOM,但定义在一个世界中函数的JavaScript变量无法从另一个世界中访问。
ScriptWorldId为此提供了几个预定义的ID。从Qt 5.8起,支持以下Greasemonkey属性:
@exclude、@include、@name、@match和@run-at。使用
scripts()和scripts()访问与单个页面或具有相同配置文件的多个页面关联的脚本集合。另请参阅
- class InjectionPoint#
此枚举描述了脚本注入的时间
常量
描述
QWebEngineScript.DocumentCreation
脚本将在文档创建时执行。这不适合任何DOM操作。
QWebEngineScript.DocumentReady
脚本将在DOM准备就绪时运行。这与JavaScript中触发
DOMContentLoaded事件等价。QWebEngineScript.Deferred
脚本将在页面加载完成时运行,或文档准备就绪后500毫秒,以先到者为准。
- class ScriptWorldId#
(继承自
enum.IntEnum) 此枚举提供预定义的世界ID,用于将用户脚本隔离到不同的世界中常量
描述
QWebEngineScript.MainWorld
页面的网页内容使用的世界。在某些场景中,它可以用来自定义功能暴露给网页内容。
QWebEngineScript.ApplicationWorld
JavaScript中实现的应用程序级别的默认隔离世界。
QWebEngineScript.UserWorld
如果应用程序未使用更多世界,则脚本由用户设置时使用的第一个隔离世界。作为经验法则,如果该功能暴露给应用程序用户,则每个单独的脚本可能都应该有自己的隔离世界。
注意
在
from __feature__ import true_property被使用时,可以直接使用属性,否则通过访问器函数。- property injectionPointᅟ: QWebEngineScript.InjectionPoint#
- 属性 name : str#
- 属性 runsOnSubFrames : bool#
- 属性 sourceCode : str#
- 属性 worldId : int#
- 访问函数
- __init__(other)#
- 参数:
other –
QWebEngineScript
使用
other的内容构建用户脚本。- __init__()
构建一个空脚本。
- injectionPoint()#
- 返回类型::
返回脚本将在加载过程中的哪个点被执行。默认值为
Deferred。另请参阅
injectionPoint属性的获取器。- name()#
- 返回类型::
str
返回脚本的名称。在从
QWebEngineScriptCollection获取特定脚本时可能会有用。属性
name的获取器。- __ne__(other)#
- 参数:
other –
QWebEngineScript- 返回类型::
bool
如果脚本不等于
other,则返回true,否则返回false。- __eq__(other)#
- 参数:
other –
QWebEngineScript- 返回类型::
bool
如果脚本等于
other,则返回true,否则返回false。- runsOnSubFrames()#
- 返回类型::
bool
如果脚本在页面中的每个帧上执行,则返回
true,如果它只为主框架执行,则返回false。另请参阅
属性
runsOnSubFrames的获取器。- setInjectionPoint(arg__1)#
- 参数:
arg__1 –
InjectionPoint
将脚本执行的点设置为
p。属性
injectionPoint的设置器。- setName(arg__1)#
- 参数:
arg__1 – str
将脚本名称设置为
scriptName。另请参阅
属性
name的设置器。- setRunsOnSubFrames(on)#
- 参数:
on – bool
如果
on返回true,则在主框架之外,在子框架上执行脚本。另请参阅
属性
runsOnSubFrames的设置器。- setSourceCode(arg__1)#
- 参数:
arg__1 – str
将脚本源设置为
scriptSource。另请参阅
属性
sourceCode的设置器。属性
sourceUrl的设置器。- setWorldId(arg__1)#
- 参数:
arg__1 – int
当运行此脚本时,将孤立世界的世界 ID 设置为
id。必须在
0和256之间。另请参阅
属性
worldId的设置器。- sourceCode()#
- 返回类型::
str
返回脚本的源。
另请参阅
属性
sourceCode的获取器。- sourceUrl()#
- 返回类型::
另请参阅
属性
sourceUrl的获取器。- swap(other)#
- 参数:
other –
QWebEngineScript
交换脚本内容与
other的内容。- worldId()#
- 返回类型::
int
返回定义脚本执行世界的世界 ID。
另请参阅
属性
worldId的获取器。