在javascript中利用window.external调用C++代码,调用VC函数
2012-07-05 13:26
330 查看
我们在js中可以通过window.external.aaaa()来调用浏览器提供的外部方法aaaa。
IE的已默认实现了一些外部方法,可以参见
1:某中文文章:http://www.it118.org/Specials/2e876829-483a-4216-a6ef-08a472c94297/8f8d0507-b4c8-4d92-8e35-3c88dade3a17.htm
2:官方文档里有更多: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/external.asp
在嵌入了浏览器的工程中,除了IE默认提供的外部方法之外,需要网页的脚本中能调用C++代码,要实现这种交互,就必须实现脚本扩展。实现脚本扩展就是在程序中实现一个IDispatch接口,通过CHtmlView类的OnGetExternal虚函数返回此接口指针,这样就可以在脚本中通过window.external.XXX(关键字window可以省略)来 引用接口暴露的方法或属性(XXX为方法或属性名)。
参考《实现脚本扩展》http://topic.csdn.net/u/20080116/17/5fbac468-1188-4c9c-9339-ad48edd8a4d3.html
Firefox与Chrome也提供了external对象,例如,他们都默认的实现了opensearch的两个外部方法:
AddSearchProvider IsSearchProviderInstalled
Chrome下,可以在控制台输入window.external看到。
Firefox默认提供的外部方法稍稍多一些,也可以可以通过firebug看到。
IE的已默认实现了一些外部方法,可以参见
1:某中文文章:http://www.it118.org/Specials/2e876829-483a-4216-a6ef-08a472c94297/8f8d0507-b4c8-4d92-8e35-3c88dade3a17.htm
2:官方文档里有更多: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/external.asp
在嵌入了浏览器的工程中,除了IE默认提供的外部方法之外,需要网页的脚本中能调用C++代码,要实现这种交互,就必须实现脚本扩展。实现脚本扩展就是在程序中实现一个IDispatch接口,通过CHtmlView类的OnGetExternal虚函数返回此接口指针,这样就可以在脚本中通过window.external.XXX(关键字window可以省略)来 引用接口暴露的方法或属性(XXX为方法或属性名)。
参考《实现脚本扩展》http://topic.csdn.net/u/20080116/17/5fbac468-1188-4c9c-9339-ad48edd8a4d3.html
Firefox与Chrome也提供了external对象,例如,他们都默认的实现了opensearch的两个外部方法:
AddSearchProvider IsSearchProviderInstalled
Chrome下,可以在控制台输入window.external看到。
Firefox默认提供的外部方法稍稍多一些,也可以可以通过firebug看到。
相关文章推荐
- 通过IE提供的window.external来再javascript中调用winform中的函数
- 通过IE提供的window.external来再javascript中调用winform中的函数
- window下利用JNI在java代码中调用c/c++接口
- 解决vc C++ 调用 C 函数时unresolved external symbol " __cdecl 。。。无法解析的外部符合
- 利用VC调用动态链接库中的函数
- 用VC写Assembly代码(5) --函数调用(一)
- MATLAB 函数导出c/c++代码被vs2010调用
- 函数调用,C# 调用Dll中非托管C++代码时,函数参数的类型对照
- Android 学习笔记——利用JNI技术在Android中调用、调试C++代码
- Android 学习笔记——利用JNI技术在Android中调用、调试C++代码
- 巧妙利用函数的惰性载入提高javascript 代码性能
- VC与JavaScript交互(三) ———— JS调用C++
- cocos2d-x利用jni调用java层代码(c++调java)
- javascript与cs代码互相调用 asp.net中前台javascript与后台C#交互 这里主要包括了javascipt与后台CS代码四种方法互调(其中包括函数与变量的访问)
- 利用calltree查看工程代码中的函数调用关系
- VB、VC调用C++dll 函数、变量、类
- 【2013】实习收获4:关于python中利用ctypes调用c++代码的学习总结
- VC 函数调用的 汇编代码 浅析
- 【iOS-cocos2d-X 游戏开发之十三】详细讲解在Xcode中利用预编译并通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)!
- C++ 调用 Java Cocos2d-x利用jni调用java层代码