|
|
1
13
我实际上没有做过这件事,但我认为你
可能
能够使用以下方式实现您的解决方案
您可以使用以下命令从QWebPage获取QNetworkAccessManager networkAccessManager() 功能。QNetworkAccessManager有信号 finished ( QNetworkReply * reply ) 每当QWebPage实例请求文件时,它就会被触发。
这
因此,创建一个插槽以附着到
我唯一的警告是,我以前从未做过这件事,所以我不能100%确定它会奏效。 另一种选择可能是使用QWebFrame的方法将对象插入到页面的对象模型中,并插入一些JavaScript,然后在Ajax请求完成时通知您的对象。这是一种稍微有点棘手的方法,但肯定会奏效。 编辑: 第二种选择对我来说似乎更好。工作流程如下: window.onload=function(){//页面已完全加载} 将您需要的任何代码放入该函数中。您可能希望通过QWebFrame::addToJavaScriptWindowObject()向页面添加QObject,然后调用该对象上的函数。此代码仅在页面完全加载时执行。 希望这能回答问题! |
|
|
2
2
要检查特定元素的负载,您可以使用
|
|
|
3
1
当你的初始html/images/etc加载完成时,就是这样 是 也就是说,我怀疑你想在这里做的是向你的视图公开一个QtScript对象/接口,你可以从页面的脚本中调用它,一旦你决定(从页面脚本)你已经“完全加载”,就有效地在C++中提供一个“回调”。 希望这能给你一个尝试的方向。.. |
|
|
4
0
非常 短时间延迟解决了这个问题。有一个错误导致了所描述的行为: https://bugreports.qt-project.org/browse/QTBUG-37377 为了解决这个问题,loadingFinished()信号必须使用排队连接进行连接。 |