【CEF】 VC应用程序让JS代码能够调用C++方法

介绍

Chromium和CEF使用V8 JavaScript引擎 作为它们内部的Javascript实现。浏览器中的每一页(Frame)都有它自己的JS上下文,上下文提供一个空间和安全机制来执行页面上的JS代码,CEF为客户应用程序暴露了多个JS特性,其中js扩展可实现js代码调用c++方法

实现:

1、注册一个V8扩展与js代码

void InitExtensionTest() {
  // Register a V8 extension with the below JavaScript code that calls native
  // methods implemented in ClientV8ExtensionHandler.
  std::string code = "var cef;"
    "if (!cef)"
    "  cef = {};"
    "if (!cef.test)"
    "  cef.test = {};"
    "(function() {"
    "  cef.test.__defineGetter__('test_param', function() {"
    "    native function GetTestParam();"
    "    return GetTestParam();"
    "  });"
    "  cef.test.__defineSetter__('test_param', function(b) {"
    "    native function SetTestParam();"
    "    if (b) SetTestParam(b);"
    "  });&#
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值