如何使用 QTWebEngine 为子窗口设置用户代理



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

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

myWebEngineViewQWebEngineView的一个子类。

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

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

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)。

最新更新