我将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!我不知道这是否需要它,然后第二个问题是什么使它与我一起工作了,现在它再也无法正常工作了。
预先感谢。