一緒にlibcefを勉強します.あなたのcefにjsコードを実行させます.

2418 ワード

今日は皆さんと共有して、私達のクライアントで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はメインフレームを獲得します.
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は私たちが作成したブラウザのハンドルを指しています.または、ポインタといいます.
以下は一番簡単な実行です.
CefRefPtr<CefBrowser> browser = ...;
CefRefPtr<CefFrame> frame = browser->GetMainFrame();
frame->ExecuteJavaScript("alert('ExecuteJavaScript works!');",
    frame->GetURL(), 0);
これから、地元のjsコードの実行方法とjsコードのcalbackの取得方法を皆さんと一緒に勉強します.