问题标签 [qtwebview]
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.
javascript - 如何使用 QML QtWebView 调用 C++?
在 Qt 5.5 中,使用他们提供的Minibrowser 示例,它使用了不同于QWebView widget的东西。相反,它使用 QML 和QtWebView 模块。当您查看 Javascript 时navigator.appVersion
,它会让您知道 QWebView 加载自定义 AppleWebKit/538.1(Qt5.5 附带的东西),而 QtWebView(注意区别)加载本机核心 OS AppleWebKit/601.1.56。这得到了证实,因为当我在我的 OSX(El Capitan 版本)上加载 Safari 时,它显示 601.1.56。
然而,问题是我在 Minibrowser 中的 Javascript 函数如何在后端调用 C++ 函数来执行更强大的功能?当我使用 QWebView 小部件时,我能够使用C++ webkit 桥接器,它让我将 C++ 对象注入到 DOM 中,因此可以调用我的 C++ 代码。我没有看到任何关于如何使用 QtWebView 的基于 QML 的 Minibrowser 示例执行此操作的技术。什么技术?
编辑:哦,澄清一下,我不是通过网络服务器调用远程网页。我只是通过 file:// 调用东西。换句话说,我使用丰富的 webkit 界面为我提供了一个超强大的 GUI,它远远超出了 Qt 小部件和 QML 可以为我提供的功能。
node.js - 如何在 QWebView 中加载自我认证的 https nodejs 服务器的 url
- 使用自认证密钥运行 nodejs https 本地服务器进行测试。
- 在 QT Application 的 QWebView 中加载https://localhost:8888/index.html 。
QWebView 不显示任何内容。
qt - QtWebEngine : 使用 HTTPPost 加载 URL
我正在将内部浏览器从 QtWebKit 移植到 QtWebEngine。
我想要一个在发布一些数据时请求 url 的函数。使用 WebKit,我可以使用以下内容:
使用派生自 QtWebView 的类 WebView :
由于 QtWebEngine 确实与 QNetworkAccessManager 交互,我们如何才能拥有与 QtWebEngine 相同的功能?
谢谢
qt - 从使用 Qt 显示的外部网页获取响应
我有一种情况,我想调出一个用户将与之交互的网页,当他们单击提交按钮时,会发送一个响应,我想在我的 Qt 程序中获取该响应,然后用这页纸。我能够调出这样的页面:
但我不知道如何在用户提交页面时获得响应,也不知道如何销毁页面。
在网上我找到了这样做的信息:
或这个:
哪个看起来更好,但我仍然不知道如何从页面返回响应。
更新:这是我目前的代码:
javascript - qt webkit 中的 Javascript 调试
问候
我正在尝试使用 qt web-kit 调试 java-script,但它不起作用。
这就是我所做的。我右键单击 qt web-view 并选择“检查”,在检查器窗口中,转到“脚本”选项卡,选择“仅启用此会话/始终启用”,然后按“启用调试”按钮。在 java-script 文件中,我在函数中放置断点(通过单击行号)。我也可以在窗口右侧的“断点”组中看到该行。我执行了导致函数启动(在 UI 中)的特定操作,但没有任何反应,断点未命中并且函数返回。我通过输入函数的名称和参数从控制台手动调用函数,但仍然没有任何反应。函数返回而不打断点。
我也启用了JavascriptEnabled
.
我使用 QT 4.8 和 Visual Studio 2008。
任何人都可以告诉我这里有什么问题吗?!
先谢谢了
qt - 如何在 qwebkit 中复制网页?
假设我有两个 qwebview 小部件。让我们将其称为 W1 和 W2,然后我将网址设置为
两个页面都有单独的 css 文件。
然后我将更改 w1 中某些元素的背景
到目前为止一切都很好,背景变为红色。
现在我想用 w1 替换 w2 中的页面(不使用.seturl
),包括 w1 的样式表。然后我希望能够在不影响其他颜色的情况下更改它们的颜色
我试过.toHtml()
and .sethtml()
,但这只会复制 html(当然),因此 w1 的所有样式都丢失了。
还尝试了许多其他方法,包括.setpage
等.clone
...但它似乎只更改了 html,或者它更改了指向它的指针,(所以如果我对 w1 进行更改,它只会影响 w2 并且不能再触摸 w1 ETC..)
是否有可能做到这一点?另外,是否可以在不需要每个小部件的情况下做到这一点?
c++ - QWebView 可以从 Qt 资源文件中加载 *.js 并运行它们吗?
我有看起来像这样的qrc文件:
在assets.js 中只是添加了弹出提示的功能:
在index.html中添加另一个 javascript 用于弹出警报、加载assets.js并添加 2 个按钮。第一个从外部 javascript 文件 ( assets.js ) 调用窗口弹出窗口,第二个调用嵌入到index.html文件中的 javascript:
现在,当我尝试在 qtwebkit中加载index.html时:
我可以看到index.html已加载正常(我可以看到 2 个按钮)单击应该调用本地(嵌入 html)javascript 的按钮时,它可以工作。单击第二个按钮什么也不做。
似乎外部assets.js未正确加载。有什么建议我可以让它工作吗?
谢谢。
python - 替代 QWebView()
由于 QWebView() 在 Ubuntu 16.10 及以后版本中可能不可用,因此还有什么替代方法可以执行以下操作:
view = QWebView()
view.load(QUrl('http://example.com')
python-3.x - PyQt 加载页面 - 检查错误 ErrorPageExtension
我正在尝试加载静态 html 页面,但加载页面为假。(这在本地工作,但不在 docker 容器内)。
该文件loadProgress
为 100%,但我得到 OK 信号,false
表明加载页面时出错。我正在尝试使用 ErrorPageExtension (从网上找到)来找出详细的错误消息是什么。在加载页面时出现错误时,有人可以说明如何调用扩展程序吗?我错过了什么吗?