2017-02-28 96 views
1

我想從嵌入式IE的activeX切換到libcef框架。我的web項目的javascript調用C++函數使用window.external.xxx方法。但是我無法在cef框架中獲得window.external對象。我嘗試在window對象中綁定我的C++函數。可悲的是,它不適合我。如何在cef框架中支持window.external.xxx

我給C++函數結合窗口對象代碼是這樣的:

CefRefPtr<CefV8Value> ptrGlobalObj = context->GetGlobal(); 
CefRefPtr<CefV8Value> jsCallOrthoLink = CefV8Value::CreateFunction(_T("CallOrthoLink"), m_ptrV8Handler); 
ptrGlobalObj->SetValue(_T("CallOrthoLink"), jsCallOrthoLink, V8_PROPERTY_ATTRIBUTE_NONE); 

我在javascript window.xxx方法對其進行測試。有用。所以我知道我的綁定代碼是正確的。

如何用window.external.xxxx方法解決此問題?

謝謝。

回答

1

試試這個:

external = CefV8Value::CreateObject(NULL, NULL) 
external->SetValue("CallOrthoLink", jsCallOrthoLink, V8_PROPERTY_ATTRIBUTE_NONE) 
global->SetValue("external", external, V8_PROPERTY_ATTRIBUTE_NONE) 
+0

感謝您的回答。你的示例代碼解決了我的問題。謝謝!!! –