某些网站未加载到QWebViewEngine QT 5.12.0中

时间:2019-02-23 16:01:03

标签: qt whatsapp qtwebengine qtwebview

我将QT 5.12.0与Visual Studio 2017 32位一起使用,我想在QT Webview引擎内查看WhatsApp网站Here,但收到此消息,要求我更新Chrome,

WhatsApp works with Google Chrome 36+
To use WhatsApp, update Chrome or use Mozilla Firefox, Safari, Microsoft Edge or Opera.
UPDATE GOOGLE CHROME

到目前为止,我尝试过使用QWebEngineProfile :: setHttpUserAgent更改QtWebEngine用户代理的建议,QWebEngine的当前用户代理是

"Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.12.0 Chrome/69.0.3497.128 Safari/537.36"

我尝试在互联网上找到一些链接,其中包含chrome 70+的用户代理,我发现了一些Here,我使用MainWdindow构造函数中的这段代码将其更改为该代理

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QWebEnginePage *page = ui->widget->page();
    qDebug() << page->profile()->httpUserAgent();
    page->profile()->setHttpUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36");
    connect(ui->widget, SIGNAL(loadProgress(int)), this, SLOT(LoadProgress(int)));
}

这是我设置的用户代理

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36

,当我再次开始加载网站时,它可以正常工作!!,然后我错误地重新加载了它,突然它不再加载,并向我发送了更新chrome的消息,我试图重新构建该应用程序,然后再次尝试它也无法正常工作,我尝试在MainWindow的构造函数中使用此代码清除缓存和所有内容

QWebEnginePage *page = ui->widget->page();
    page->profile()->clearAllVisitedLinks();
    page->profile()->clearHttpCache();

是同一件事,所以这里的问题是什么促使我更改用户代理?在默认的用户代理中,它已经使用了chrome 36+,并且在字符串中使用了69.0!我不知道这是否需要它,然后第二个问题是什么使它与我一起工作了,现在它再也无法正常工作了。
预先感谢。

0 个答案:

没有答案