QT和WebKit并未显示所有CSS 3,HTML 5效果
Qt and Webkit not showing all CSS 3, HTML 5 effects
我是初学者。我正在使用QT和WebKit创建Web浏览器(只需添加WebView)即可。我正在使用最新版本的ubuntu。
问题是在构建浏览器之后,当我打开网站时,没有工作所有CSS3,HTML5效果(即:当我打开Google Maps时,它将显示"简化版本",因为浏览器是"过时的")。
当我尝试使用Chrome或Firefox访问相同的页面时,它们都可以很好地工作。可能是什么问题呢?我读到我可以更新QT的Webkit,但是如何?
编辑
我的软件是什么:一个简单的WebView拖到了开放网站的MainWindow。网站的CSS3和HTML 5未正确渲染
非常感谢!
看起来Google使用用户代理来决定您的浏览器是否支持CSS3功能。您可以覆盖默认用户代理,以使您的QWEBView像Firefox实例一样出现在Google上。
您需要子类qwebpage并覆盖userAgentForUrl
方法:
class WebPage : public QWebPage
{
public:
WebPage(QObject* parent = 0) : QWebPage(parent){}
QString userAgentForUrl(const QUrl &url) const
{
return "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0";
}
};
然后,您将此子类设置为qwebview:
WebPage* webPage = new WebPage(this);
ui->webView->setPage(webPage);
ui->webView->load(QUrl("http://maps.google.com/"));
相关文章:
- 如何在运行中期切换GTK CSS style_context
- 简单的 HTML 验证器
- 如何在 html 页面中插入 cgi 应用程序的输出?
- GTK:完全摆脱系统主题/CSS
- 在 C++ 中编写解析器来解析给定的 HTML 实体
- 使用 ReadTheOrg 将识字程序导出为 HTML 时保留源块的内容
- 当我使用 QDomDocument 解析 html 数据时,如何保留 "?
- 如何使用 libcurl 在本地 IP 上获取 HTML?
- 通过 c++ 中的套接字发送 html
- 是否有提供可调整 dpi、可选文本和 CSS 支持的 HTML 到 PDF 渲染器?
- 如何在工作区中使用 HTML/CSS UI 在C++中制作本机 UI 窗口
- 可嵌入的 HTML/CSS/脚本引擎C++
- 为什么C++应用程序不能创建像php,html和css这样的接口?
- QT和WebKit并未显示所有CSS 3,HTML 5效果
- 用于地铁风格应用程序的 HTML/CSS 渲染器
- 允许HTML/CSS输出的C++日志记录库
- Javascript/CSS/HTML/Java IDE?
- 是否有可能在Visual Studio c++项目中将Javascript和CSS代码与HTML代码分开?
- 最轻量级的托管html/css/js UI的方式
- Dlib HTTP服务器显示网站为纯HTML,没有javascript/css