C++ QWebEngine:在执行runJavaScript时处理get和post请求
我正在寻找在加载网站后通过运行java脚本代码来处理get和post请求的可能性。描述如下:可以通过QWebEnginePage::load加载url,该页面包含一些按钮,其中绑定了javescript事件。按钮用于从internet获取和发布请求。当get和post请求由该javascript事件执行时,我是否可以向我的类发送信号。如果QWebEngine不可能,那么Qt中还有哪些其他选项可以完成这项工作。我正在寻找一些在未来不会是绝对的选择,因为它是长期项目的一部分。 谢谢您可以在您的案例中使用它 CPP文件C++ QWebEngine:在执行runJavaScript时处理get和post请求,c++,qt,C++,Qt,我正在寻找在加载网站后通过运行java脚本代码来处理get和post请求的可能性。描述如下:可以通过QWebEnginePage::load加载url,该页面包含一些按钮,其中绑定了javescript事件。按钮用于从internet获取和发布请求。当get和post请求由该javascript事件执行时,我是否可以向我的类发送信号。如果QWebEngine不可能,那么Qt中还有哪些其他选项可以完成这项工作。我正在寻找一些在未来不会是绝对的选择,因为它是长期项目的一部分。 谢谢您可以在您的案例中
QWebChannel* webChannel = new QWebChannel();
webChannel->registerObject("foo", this);
webview->page()->setWebChannel(webChannel);
在HTML文件中
<script type="text/javascript" src="qrc:/Map/qwebchannel.js"></script>
<script type="text/javascript">
new QWebChannel(qt.webChannelTransport, function(channel) {
// all published objects are available in channel.objects under
// the identifier set in their attached WebChannel.id property
var foo = channel.objects.foo;
// access a property
alert(foo.hello);
// connect to a signal
foo.someSignal.connect(function(message) {
alert("Got signal: " + message);
});
// invoke a method, and receive the return value asynchronously
foo.someMethod("bar", function(ret) {
alert("Got return value: " + ret);
});
});
</script>
新的QWebChannel(qt.WebChannel传输,功能(通道){
//所有发布的对象都可以在下的channel.objects中使用
//在其附加的WebChannel.id属性中设置的标识符
var foo=channel.objects.foo;
//访问一个属性
警报(foo.hello);
//连接到信号
foo.someSignal.connect(函数(消息){
警报(“收到信号:+消息”);
});
//调用一个方法,并异步接收返回值
foo.someMethod(“bar”),函数(ret){
警报(“获取返回值:”+ret);
});
});
你的意思是这样的?我不这么认为,例如,在提交表单中,有一些特殊的按钮,在填写表单时使用java脚本通过get方法检索特殊信息。我希望我的类在用java脚本执行这样的请求时得到通知。谢谢你,但是你能提供一些简单的例子或其他东西,让我了解如何执行它。