VC与JavaScript交互(三) --- CWebPage类调用javascript函数(给js函数传参,并取得返回值)
2017-06-27 16:42
525 查看
转自:http://www.cnblogs.com/MrYuan/p/5019297.html
①需要一个别人写好的类CWebPage,将其对于的两个文件WebPage.h和WebPage.cpp添加到工程中。
②添加WebBrowser控件,在视图/对话框类的头文件中#include "webbrowser2.h",增加成员变量m_webBrowser,调用Navigate()函数加载一个html页面。
③在对话框或者视图的实现文件中,加入#include "WebPage.h",在按钮的响应函数中就可以调用javascript函数了,具体代码如下:
④在html文件的script标签中定义对应的函数,具体代码如下:
注意:
(1)上面javascript中panTo()函数是google map API中的一个函数,可根据不同需要自定义相关函数。
(2)以上实现不用管CWebPage类起什么作用,直接用就行,如果想详细了解内容,请搜索有关“COM组件自动化”“IDispatch接口”的文章。
①需要一个别人写好的类CWebPage,将其对于的两个文件WebPage.h和WebPage.cpp添加到工程中。
②添加WebBrowser控件,在视图/对话框类的头文件中#include "webbrowser2.h",增加成员变量m_webBrowser,调用Navigate()函数加载一个html页面。
③在对话框或者视图的实现文件中,加入#include "WebPage.h",在按钮的响应函数中就可以调用javascript函数了,具体代码如下:
CWebPage web; web.SetDocument(m_webBrowser.GetDocument()); CComVariant varResult; //存放返回值 //注意:参数要用字符串类型传递过去 web.CallJScript("TansTo", m_latitude, m_longitude, &varResult); //调用JS中的函数TansTo(),并传递2个参数(纬度,经度),将返回值写入varResult if( varResult. dblVal == 122.211 ) // double型对应dblVal,整形对应intVal MessageBox(“成功从js中取得变量值”);
④在html文件的script标签中定义对应的函数,具体代码如下:
<script type="text/javascript"> function TansTo(lat, lng)//转到指定位置,有两个参数,纬度和经度 { map.panTo(new GLatLng(lat, lng));//谷歌地图的API,跳转到坐标指定地点 return 122.211 ;//返回一个double型的值给varResult } </script>
注意:
(1)上面javascript中panTo()函数是google map API中的一个函数,可根据不同需要自定义相关函数。
(2)以上实现不用管CWebPage类起什么作用,直接用就行,如果想详细了解内容,请搜索有关“COM组件自动化”“IDispatch接口”的文章。
相关文章推荐
- VC与JavaScript交互(三) ———— CWebPage类调用javascript函数(给js函数传参,并取得返回值)
- VC/MFC中通过CWebPage类调用javascript函数(给js函数传参,并取得返回值)
- VC/MFC中通过CWebPage类调用javascript函数(给js函数传参,并取得返回值)
- VC/MFC中通过CWebPage类调用javascript函数(给js函数传参,并取得返回值)
- VC/MFC中通过CWebPage类调用javascript函数(给js函数传参,并取得返回值)
- VC与JavaScript交互(一) -- 调用JS函数
- VC与JavaScript交互(二) ———— 调用JS函数
- VC与JavaScript交互(二) ———— 调用JS函数
- VC与JavaScript交互(二) --- 调用JS函数
- Web前端从入门到放弃(js函数声明和调用、有参函数和无参函数、有返回值)
- ANDROID WEBVIEW和JAVASCRIPT交互_JS调用ANDROID方法
- VC与JavaScript交互(三) ———— JS调用C++
- 在webview中addJavascriptInterface,js调用java函数打包出现不响应,即使对混淆处理
- VC与JavaScript交互(三) ———— JS调用C++
- 网页中ActiveX控件与JavaScript交互 js调用ActiveX函数
- 网页中ActiveX控件与JavaScript交互 js调用ActiveX函数
- Android Webview和JavaScript交互--JS调用Android方法
- VC与JavaScript交互(三) ———— JS调用C++
- 在webview中addJavascriptInterface,js调用java函数打包出现不响应,即使对混淆处理
- iOS 基于JavaScriptCore 不等webView加载完毕就交互,网页获取原生内容。 webView的高级用法之JS交互,js与oc的相互调用