当前位置 : 首页 » 文章分类 :  开发  »  MFC中通过CWebPage类调用javascript函数(给js函数传参并取得返回值)

MFC中通过CWebPage类调用javascript函数(给js函数传参并取得返回值)

步骤如下:

  • 1、需要一个别人写好的类CWebPage,将其对于的两个文件WebPage.h和WebPage.cpp添加到工程中。
    CWebPage类头文件和实现文件下载地址:http://download.csdn.net/detail/masikkk/4427190

  • 2、添加WebBrowser控件,在视图/对话框类的头文件中#include "webbrowser2.h",增加成员变量m_webBrowser,调用Navigate()函数加载一个html页面。

  • 3、在对话框或者视图的实现文件中,加入#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中取得变量值”);
    
  • 4、在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接口”的文章。

上一篇 Word中为图表生成目录

下一篇 利用OpenCV在picture控件中显示图片

域名迁移公告
2017年12月20日起,本博客迁移到新域名madaimeng.com,旧域名masikkk.com不再更新内容,但将永久保持可访问!
阅读
383
阅读预计2分钟
创建日期 2012-07-14
修改日期 2017-07-14
类别
百度推荐