1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#include "PageRunner.h"
#include <QApplication>
#include <QWebPage>
#include <QWebFrame>
#include <QWebSettings>
#include <iostream>
PageRunner::PageRunner(const QUrl &webpage, QObject *parent) :
QObject(parent)
{
m_page = new QWebPage(this);
m_page->settings()->setAttribute(QWebSettings::AutoLoadImages, false);
m_page->settings()->setAttribute(QWebSettings::DnsPrefetchEnabled, false);
m_page->settings()->setAttribute(QWebSettings::JavaEnabled, false);
m_page->settings()->setAttribute(QWebSettings::PluginsEnabled, false);
m_page->settings()->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);
m_page->settings()->setAttribute(QWebSettings::JavascriptCanOpenWindows, false);
m_page->settings()->setAttribute(QWebSettings::JavascriptCanAccessClipboard, false);
m_page->settings()->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, false);
m_page->settings()->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, false);
m_page->settings()->setAttribute(QWebSettings::LocalStorageEnabled, false);
m_page->settings()->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, false);
m_page->settings()->setAttribute(QWebSettings::LocalContentCanAccessFileUrls, false);
m_page->settings()->setAttribute(QWebSettings::XSSAuditingEnabled, true);
m_page->settings()->setAttribute(QWebSettings::AcceleratedCompositingEnabled, false);
m_page->settings()->setAttribute(QWebSettings::TiledBackingStoreEnabled, false);
connect(m_page, SIGNAL(loadFinished(bool)), this, SLOT(loaded()));
m_page->mainFrame()->load(webpage);
}
void PageRunner::loaded()
{
std::wcout << m_page->mainFrame()->toHtml().toStdWString() << std::endl;
qApp->quit();
}
|