我用 QtWebEngine 创建了自己的 Web 浏览器。现在我想用this->page()->profile()->setHttpUserAgent(USER_AGENT);
. 这适用于主视图。
myWebEngineView
如果我在用户代理的方法createWindow
中创建一个新的myWebEngineView
将是 QtWebEngine 的默认用户代理。
myWebEngineView
是 的子类QWebEngineView
。
如何为所有视图设置用户代理?
我用 QtWebEngine 创建了自己的 Web 浏览器。现在我想用this->page()->profile()->setHttpUserAgent(USER_AGENT);
. 这适用于主视图。
myWebEngineView
如果我在用户代理的方法createWindow
中创建一个新的myWebEngineView
将是 QtWebEngine 的默认用户代理。
myWebEngineView
是 的子类QWebEngineView
。
如何为所有视图设置用户代理?
您可以在新创建的窗口中再次设置用户代理:
QWebEngineView* WebEngineView::createWindow( QWebEnginePage::WebWindowType type ) {
QWebEngineView* view = createView(); // your function to create a new tab or sth like this
view->page()->profile()->setHttpUserAgent( "" );
view->page()->profile()->setHttpUserAgent( "Mozilla/5.0( YOUR USER AGENT )" );
return view;
}
用户代理需要设置两次,否则它不会传输到页面,另见ProfileAdapter::setHttpUserAgent(const QString &userAgent)。