1

我用 QtWebEngine 创建了自己的 Web 浏览器。现在我想用this->page()->profile()->setHttpUserAgent(USER_AGENT);. 这适用于主视图。

myWebEngineView如果我在用户代理的方法createWindow中创建一个新的myWebEngineView将是 QtWebEngine 的默认用户代理。

myWebEngineView是 的子类QWebEngineView

如何为所有视图设置用户代理?

4

1 回答 1

1

您可以在新创建的窗口中再次设置用户代理:

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)

于 2019-12-11T15:30:58.147 回答