- 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
的获取器。