前面只发布了QWebView的代码,并没有具体的解释过load()函数。在这里补充上。
2012.10.19 于济南
先贴上两个load的源码,分别命名为load1、load2,方便下文论述:
load1:
void QWebFrame::load(const QUrl &url)
{
// The load() overload ensures that the url is absolute.
load(QNetworkRequest(url));
}
load2:
void QWebFrame::load(const QNetworkRequest &req,
QNetworkAccessManager::Operation operation,
const QByteArray &body)
{
if (d->parentFrame())
d->page->d->insideOpenCall = true;
QUrl url = ensureAbsoluteUrl(req.url());
WebCore::ResourceRequest request(url);
switch (operation) {
case QNetworkAccessManager::HeadOperation:
request.setHTTPMethod("HEAD");
break;
case QNetworkAccessManager::GetOperation:
request.setHTTPMethod("GET");
break;
case QNetworkAccessManager::PutOperation:
request.setHTTPMethod("PUT");
break;
case QNetworkAccessManager::PostOperation:
request.setHTTPMethod("POST");
break;
case QNe