2

CEF APIを使用して既存のオブジェクト参照を取得することは可能ですか?

たとえば、次を使用してスクリプトを実行しますExecuteJavaScript()

function foo()
{
    var self = this;
    self.value="some value";
}
var fooObj = new foo;

このスクリプトは、新しい変数を作成しますfooObj。後でC++コードでこの変数への参照を取得し、その値を変更することは可能ですか?

4

1 に答える 1

4

次のようなことを行うことでそれを取得できるはずです(テストされていません):

    auto context = AppGetBrowser()->GetMainFrame()->GetV8Context();
    CefRefPtr<CefV8Value> p = context->GetGlobal()->GetValue(CefString("fooObj"));

C++ で呼び出している場所によっては、コンテキストの開始/終了が必要になる場合があります。さらに、実際にオブジェクトを「window.fooObj」として明示的に参照する必要がある場合があります。その場合、「window」の値を取得してから「fooObj」を取得する必要があります。

(編集 - 誤って投稿するのが早すぎた) (編集 2 - その他)

于 2013-02-11T21:08:18.273 に答える