【Qt】使用WebBrowser并调用网页中的JS函数
2013-07-25 18:04
357 查看
在界面上拖入QAxWidget,注意这里不建议直接在UI设计界面指定控件,否则可能引起QtCreator崩溃
建议在代码中动态设置,如:
这里的办法是通过IHTMLWindow2接口的execScript方法执行JavaScript函数。可惜的是这个方法不支持函数返回值
JavaScript函数如下
建议在代码中动态设置,如:
ui->axWidget->setControl("Shell.Explorer"); ui->axWidget->dynamicCall("Navigate(QString)", "C:/1.html");当然,上面的"C:/1.html"是我测试的页面
这里的办法是通过IHTMLWindow2接口的execScript方法执行JavaScript函数。可惜的是这个方法不支持函数返回值
#include <MsHTML.h> { QAxObject *document = ui->axWidget->querySubObject("Document"); IHTMLDocument2 *doc2; document->queryInterface(QUuid(IID_IHTMLDocument2), (void**)&doc2); if (doc2) { IHTMLWindow2 *win2 = nullptr; if (doc2->get_parentWindow(&win2) == S_OK) { BSTR s1 = SysAllocString(L"Test()"); BSTR s2 = SysAllocString(L"JavaScript"); VARIANT ret; win2->execScript(s1, s2, &ret); SysFreeString(s2); SysFreeString(s1); } } }
JavaScript函数如下
<script language="javascript" type="text/javascript"> function Test() { alert("你调用了全局函数Test"); } </script>
相关文章推荐
- 使用WebBrowser并调用网页中的JS函数
- delphi中WEBBrowser网页JS函数调用delphi函数
- delphi中WEBBrowser网页JS函数调用delphi函数
- 1.C#开发winform 开发调运检疫离线制证功能。调用cLodop打印控件(NVelocity模块,生成HTML(包含cLodop打印控件的js),使用WebBrowser,展现网页)总结
- 使用WebBrowser控件与网页通信,互相调用
- delphi中WEBBrowser网页JS函数调用delphi函数
- delphi中WEBBrowser网页JS函数调用delphi函数
- WIN7下使用Qt调用微软TTS进行文本朗读
- 微信网页第三方登录原理 微信开放平台和公众平台的区别 1.公众平台面向的时普通的用户,比如自媒体和媒体,企业官方微信公众账号运营人员使用,当然你所在的团队或者公司有实力去开发一些内容,也可以调用公众
- webBrowser操作网页找不到节点元素使用输入键盘SendKeys.send
- 使用QT+MinGW编写动态库dll供VC或VB调用
- 获取iframe中的内容、查找获取指定元素(关于用c++调用WEBBROWSER控件,使用相关接口操作web页面元素的一些方法)
- JS函数 -- 功能,语法,返回值,匿名函数,自调用匿名函数,全局变量与局部变量,arguments的使用
- QT中使用Qprocess调用git程序获取版本号
- C# 使用 webBrowser 把参数 post 网页
- 阿里云上部署webservice或者网站,服务器本身测试可以整成使用,但是在其他机器上调用时找不到网页或者webservice
- 使用QT+MinGW编写动态库dll供VC或VB调用
- 黄聪:C#里如何使用WebBrowser获取处理AJAX生成的网页内容?
- 使用WebBrowser控件从string以及从stream载入网页的方法
- MFC中使用ActiveX的WebBrowser载入动态网页