一起学libcef--让你的cef执行js代码

今天与大家分享一下,在我们的客户端中如何执行java script代码。

再次声明:
cef源码中,每个函数前面的注释一定要仔细阅读!!!!

  // Execute a string of JavaScript code in this. The |script_url|
  // parameter is the URL where the script in question can be found, if any.
  // The renderer may request this URL to show the developer the source of the
  // error.  The |start_line| parameter is the base line number to use for error
  // reporting.
  ///
  /*--cef(optional_param=script_url)--*/
  virtual void ExecuteJavaScript(const CefString& code,
                                 const CefString& script_url,
                                 int start_line) =0;

最简单的调用方式:
1获得main frame

CefRefPtr<CefFrame> main_frame = browser->GetMainFrame();

什么又是GetMainFrame

  // Returns the main (top-level) frame for the browser window.
  ///
  /*--cef()--*/
  virtual CefRefPtr<CefFrame> GetMainFrame() =0;

意思就是通过top-level来执行调用js代码的。

这里还是要等一等,我们看到用了browser,这又是什么鬼呢?

CefRefPtr<CefBrowser> browser = g_web_browser_client->GetBrowser();

换言之,browser就是指向我们创建的浏览器的一个句柄,或是叫指针。

下面就是最简单的执行js:

CefRefPtr<CefBrowser> browser = ...;
CefRefPtr<CefFrame> frame = browser->GetMainFrame();
frame->ExecuteJavaScript("alert('ExecuteJavaScript works!');",
    frame->GetURL(), 0);

接下来又跟大家一起学习如何执行本地的js代码,以及如何获取js代码的callback

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一苇渡江694

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值