问题标签 [qtwebengine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 如何将 JavaScript 文件注入 WebEngineView 页面?
一旦完全加载到网页中,我就会向网页添加一个脚本标签WebEngineView
,但它会以某种方式静默失败。
webview.runJavaScript
我通过调用以下代码来注入脚本:
这是完全标准的,在某种程度上它按预期工作,即,如果我查看html
页面的源代码,脚本标签确实已附加到正文中。
问题是脚本没有被下载,或者没有被评估,或者其他什么。我所知道的是在上面的例子中 jQuery 函数不可用。如果我用一个全局变量加载一个小的 JavaScript 测试文件,该变量也不可用。将 url 更改为 http 而不是 qrc 并将其指向 Web 服务器没有区别。
注入img
标签工作正常;图像被加载并显示。
但是 JavaScript 不知何故坏了。有谁知道如何解决这一问题?
c++ - 使用 C++ 运行 QtWebEngine
我是第一次尝试 Qt,想创建一个非常基本的应用程序来加载网站。我想使用 Qt WebEngine。
这是我的 helloworld.pro:
这是我的 hello.cpp
尝试编译时出现错误:
我想我知道它找不到模块,但是查看 qt-documentation 似乎是包含它们的正确方法。
我在 Qt 5.5.0 上运行 QtCreator 3.4.2。
c++ - QT QWebEnginePage::setWebChannel() 传输对象
我正在使用 QT WebEngine 框架来显示网页。我在加载时将 javascript 注入页面,并希望允许 javascript 能够访问 QT 对象。显然,要做到这一点,必须存在一个在铬(javascript)和我的 C++/QT 项目的其余部分之间建立一些 IPC 的 QWebChannel。我遇到了 QWebEnginePage::setWebChannel (QWebChannel *channel) 函数,但是我找不到任何使用它的例子。文档(http://doc.qt.io/qt-5/qwebenginepage.html#setWebChannel)提到 qt.webChannelTransport 应该在 javascript 上下文中可用,但我没有看到在 qwebchannel.js 中建立的位置(https://github.com/qtproject/qtwebchannel/blob/dev/src/webchannel/qwebchannel.js)。一世'http://doc.qt.io/qt-5/qtwebchannel-examples.html ) 并且希望尽可能避免使用 WebSockets。
以下是我尝试实现网络频道的方式。
每当页面加载时,我都会建立一个通道并在 C++ 中注入 javascript:
在 Javascript 中:
这导致通道没有正确连接(假设这是因为 qt.webChannelTransport,因为它在我使用 WebSockets 时正在工作)。任何指向以这种方式使用 QWebEnginePage 设置的 QWebChannel 示例的指针也值得赞赏。
html - QWebEngineView 打开本地 HTML
HTML
如果您没有互联网连接并且Loadfinished(bool)
属性为假,我想打开一个本地。我HTML
在资源文件icons.grc
中有我的文件,路径是/html/error.html
当我使用该load(QUrl())
功能加载时HTML
,只有空白页可见。尽管该loadfinished()
属性为 true,这意味着它已毫无问题地加载。
我加载本地网址的代码
有什么建议么?
qtwebengine - QWebEnginePage::toHtml 返回空字符串
我想在类被销毁之前保存一个 QWebEnginePage 。运行时,输出为:
QWebEnginePage::toHtml 否则返回页面的正确内容,无论它是否在 QWebEngineView 中设置。
书签管理器.h
书签管理器.cpp
qt - QWebEngineView RAM 问题(所有内存一分钟被它占用)
QWebViewEngine
你好,所以到目前为止我有一个大问题。因为我所做的只是创建一个QWebEngineView
并说.load(QUrl("http://google.com"))
然后.showFullScreen()
。启动时应用程序占用了大约 130MB 的 RAM。当我在谷歌上按下感到幸运并且页面突然加载时,RAM开始以每秒200mb的速度攀升,当没有更多可用RAM时它停止了。
任何人都遇到过这个问题,或者有过QWebEngineView
. 我知道它的 Chromium,但在我看来它好像不能正常工作。
任何建议如何纠正这个问题?
编辑于 2015 年 8 月 14 日 14:12 这里是代码(注意大部分都被注释了):
javascript - 如何在 QWebengine 中从 Javascript 调用 C++/Qt 函数?
我看过关于 QWebChannel 的 Qt 示例。
但它是一个 C/S 应用程序。顺便说一句,它在我的电脑上不起作用(OS X 10.10.5,Qt5.5)。
我所有的 HTML 内容都来自本地磁盘。我认为它不需要套接字的东西。
没有
navigator.qtWebChannelTransport
这样的事情,JS就停在那里了。
我应该用第一个参数填写什么?
c++ - 当我调用 QWidget::winId() 时,QtWebEngine 显示黑色块
这就是整个代码。视窗 10,Qt 5.5。
当我打开开关时,winId()
会被调用,然后QtWebEngine就不能正常工作了。
我应该怎么办 ?
qt - 从 QWebEngineView 或 QWebEnginePage 中删除 ScrollBars
有没有办法从中删除滚动条,QWebEngineView
或者我可以以某种方式访问它的 ScrollArea?
使用 webkit,它就像
但我在 QWebEngine 中看不到任何类似的功能。我什至没有在 qwebengine 源中看到任何滚动区域。我有什么遗漏的吗?
更新:我想我可以尝试强制滚动条从一些 CSS 设置中消失,这些设置与铬的页面一起传递