webEngineFrame QML Value Type

webEngineFrame 提供有关页面框架的信息和控制。更多

Import Statement: import QtWebEngine
Since: Qt 6.8
In C++: QWebEngineFrame

属性

方法

详细说明

网络引擎框架表示网页中的单个框架,例如由<frame><iframe> HTML 元素创建的框架。一个活动的WebEngineView 有一个或多个以树形结构排列的框架。顶层框架是树形结构的根,可通过视图的mainFrame 属性访问。

一个框架的生命周期最多与生成它的WebEngineView 对象的生命周期相同。不过,框架可以自发地动态创建和删除,例如通过导航和脚本执行。

属性文档

htmlName : string [read-only]

返回框架的name HTML 属性的值,如果没有,则返回空字符串。

如果找不到框架,则返回空字符串。

另请参阅 name


isMainFrame : bool [read-only]

如果此对象代表页面的主框架,则返回true ;否则返回false


isValid : bool [read-only]

如果此对象代表一个现有框架,则返回true ;否则返回false

框架一旦失效,就不会再生效。


name : string [read-only]

返回框架名称,即 JavaScript 中window.name 所返回的名称。

如果找不到框架,则返回空字符串。

另请参阅 htmlName


size : size [read-only]

返回视口中框架的大小。

如果找不到框架,则返回默认尺寸(-1,-1)。


url : url [read-only]

返回当前加载到此框架中内容的 URL。

如果找不到框架,则返回空 URL。


方法文档

void runJavaScript(string script, uint worldId, variant callback)

void runJavaScript(string script, variant callback)

在此框架上运行script 中包含的 JavaScript 代码,而不检查页面的 DOM 是否已构建。

为避免与页面上执行的其他脚本冲突,运行脚本的世界由worldId 指定。世界 ID 值与QWebEngineScript::ScriptWorldId 以及0256 之间提供的值相同。如果省略world ID,脚本将在MainWorld 中运行。

callback 参数为可选参数。如果提供了回调函数,脚本运行结束后将调用该函数。

frame.runJavaScript("document.title", function(result) { console.log(result); });

从 JavaScript 返回的结果值只能是纯数据。支持的数据类型包括所有 JSON 数据类型以及DateArrayBuffer 等。不支持的数据类型包括FunctionPromise 等。

脚本将与加载网站中的其他脚本在同一世界中运行。

警告: 请勿在回调函数中执行冗长的例程,因为这可能会阻止网页内容的渲染。

有关注入脚本的更多信息,请参阅脚本注入。有关注入脚本的其他方法,请参阅WebEngineView::userScripts


void printToPdf(string filePath)

将框架的当前内容打印为 PDF 文档并存储在filePath 下。生成的文档将具有 A4 页面大小和纵向方向。

该方法发出异步请求,将网页打印成 PDF 文件,并立即返回。要了解请求结果,请连接信号WebEngineView::pdfPrintingFinished() 。

另请参阅 WebEngineView::pdfPrintingFinished().


void printToPdf(variant callback)

将框架的当前内容打印为 PDF 文档,并以字节数组形式返回。生成的文档将具有 A4 页面大小和纵向方向。

callback 必须包含一个字符串参数。打印成功后,该字符串将包含文档数据,否则为空字符串。


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.