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

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 10:04 点击:
①需要一个别人写好的类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   www.2cto.com
              }
              </script>
 
注意:
(1)上面javascript中panTo()函数是google map API中的一个函数,可根据不同需要自定义相关函数。
(2)以上实现不用管CWebPage类起什么作用,直接用就行,如果想详细了解内容,请搜索有关“COM组件自动化”“IDispatch接口”的文章。
作者:masikkk

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Gb2312转utf-8编码的方法(vbs+js)
      • 如何使用Ajax技术开发Web应用程序(1)
      • js跳转路径问题
      • JavaScript模仿桌面窗口
      • 用js检测两个线段是否相交
      • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
      • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
      • 我是如何去了解jquery的(六),案例之幻灯片轮换
      • Jquery封装幻灯片效果
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1