0
我正在使用CEFSharp並註冊一些C++/CLI原生函數,其中一個函數非常耗時,因此在html頁面中有一個忙圖標。我希望這個繁忙的圖標顯示在這個耗時的本地函數被調用,但是,圖標得到,因爲DOM卡沒有得到刷新時的本地函數被調用:使用CEFSharp原生函數不會刷新DOM
機功能:
public ref class ActivationForm : Form
{
public:
ActivationForm(void)
{
}
ActivationForm(MainAppForm^ iHost, String^ iTitle)
{
InitializeComponent();
this->webBrowser->RegisterJsObject("FormWrapper", gcnew ActivationForm::FormWrapper(this->webBrowser, this));
}
private:
CefSharp::WinForms::WebView^ webBrowser;
ref class FormWrapper
{
CefSharp::WinForms::WebView^ webBrowser;
ActivationForm^ mActivationForm;
public:
FormWrapper(CefSharp::WinForms::WebView^ iWebBrowser, ActivationForm^ iActivationForm)
{
webBrowser = iWebBrowser;
mActivationForm = iActivationForm;
}
int activateMail(String^ iMail, String^ callback);
};
int ActivationForm::FormWrapper::activateMail(String^ iMail, String^ callback)
{
//connect to activation server
}
JS代碼:
function activateExistingUser() {
...
if (!window.FormWrapper.activateMail(emailAddress)) {
isWaitingForTask = false;
me.displayFullInfoWindow();
}
}
有沒有什麼解決方案,使DOM得到刷新,顯示忙圖標?謝謝
CefSharp'39.0.0'已經發布,包括提供函數回調的能力。示例項目提供了一個完整的演示 https://github.com/cefsharp/CefSharp/blob/master/CefSharp.Example/BoundObject.cs#L23 https://github.com/cefsharp/CefSharp/blob/master /CefSharp.Example/Resources/BindingTest.html#L19 – amaitland 2015-04-16 09:47:48