我在我的代码中调用了QWebFrame::evaluateJavaScript
,它没有任何作用。但是,如果我用setTimer(0)调用替换此调用,并在此定时器超时时调用原始函数,它将起作用。我如何知道它是否有效?在我的例子中被评估的JavaScript代码调用了一个JavaScript函数,这个函数又调用了AJAX。这个AJAX调用反过来使QNetworkAccessManager
使用QWebFrame
创建并发送QNetworkRequest
。但是,如果直接从我的代码拨打QWebFrame::evalutateJavaScript
,则不会创建任何请求。这就是我说的第一种情况下不起作用的意思。为什么QWebFrame :: evalutateJavaScript在这种情况下什么都不做?
看起来有些东西阻止QtWebKit和/或QNetworkAccessManager
在调用evaluateJavaScript
之后执行其作业。我怀疑它与事件和主(gui)事件循环有关。有任何想法吗?