我有一个工作对象,我公开了C#CefSharp Javascript环境。
CWBrowser.RegisterJsObject("app", new CefCustomObject(CWBrowser, this));
该对象如下所示:
class CefCustomObject
{
private static ChromiumWebBrowser _instanceBrowser = null;
private static Window _instanceMainForm = null;
public void showDevTools()
{
_instanceBrowser.ShowDevTools();
}
public string getMyself()
{
return JsonConvert.SerializeObject(ProgGlobals.MySession.Myself);
}
...
public string searchUser(string SearchTerm)
{
MessageBox.Show("Search Results:" + SearchTerm);
return JsonConvert.SerializeObject(ProgGlobals.APIAccountClass.get(SearchTerm));
}
public CefCustomObject(ChromiumWebBrowser originalBrowser, Window mainForm)
{
_instanceBrowser = originalBrowser;
_instanceMainForm = mainForm;
}
}
方法getMyself()
和showDevTools()
工作正常。但是,带参数的方法searchUser()
不起作用。实际上,我从CefSharp Developer Tools控制台输出中得到以下错误:
app.bundle.js:29491 Uncaught TypeError: app.searchUser is not a function
我从javascript调用它:
var SearchResults = JSON.parse(app.searchUser(this.state.searchTerm));
我的问题:
是否可以使用参数调用FROM javascript方法?如果没有,那么解决方案是什么?