【问题标题】:In QtWebkit, how does a webpage's QNetworkAccessManager::createRequest() get invoked?在 QtWebkit 中,如何调用网页的 QNetworkAccessManager::createRequest()?
【发布时间】:2014-02-04 11:27:08
【问题描述】:

我正在使用 QtWebkit 和 QtNetwork 模块构建浏览器应用程序。

假设要求每个网页只能访问特定文件夹中的资源,并专门为它预留。在这种情况下,每个网页都会有某种 ID 来识别它,可以用来验证它是否访问了正确的文件夹。

问题是不清楚 createRequest() 方法是如何被调用的。如果它是发出的信号或其他什么,那么我将能够拦截它并添加一些指示网页 ID 的参数。

因此,现在对我开放的唯一选择是为每个 QWebPage 创建一个单独的 QNetworkAccessManager 并重载 createRequest() 函数,而我真的希望能够跨 QWebPages 共享 QNetworkAccessManager。

其他解决方案将不胜感激,但通常我也对如何达到 createRequest() 方法感到非常困惑。

参考: QNetworkAccessManager::createRequest

【问题讨论】:

    标签: c++ qt qtwebkit qtnetwork


    【解决方案1】:

    为每个网页设置一个单独的访问管理器并不是什么大问题。您没有任何测量结果表明这是一个问题,因此以真正的堂吉诃德方式,您正在与风车和假想敌作战:)

    createRequest 虚拟方法由各种非虚拟请求方法调用:getpostput。这是non virtual interface (NVI) pattern 的一个很好的例子。

    【讨论】:

    • 接受答案;如果我遇到相反的测量结果,我一定会重新提出这个问题。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 2011-08-16
    • 2012-04-08
    相关资源
    最近更新 更多