我有一个在http://localhost:3000/本地运行的网络应用。我从CefSharp.MinimalExample.WinForms
项目开始,将其指向此URL并且应用程序已成功启动。我的下一步是测试C#< - > JS桥,看看这些调用是如何工作的。
我遵循了How do you expose a .NET class to Javascript?文档,并将.NET端设置为具有可由JavaScript调用的类。下一步是在JavaScript中调用CefSharp.BindObjectAsync
来启动绑定,但在我的网站上CefSharp
在JavaScript端未定义。 Chrome中的错误我收到Uncaught (in promise) ReferenceError: CefSharp is not defined
。我对CefSharp的理解是它会将适当的CefSharp方法绑定到window对象,以便可以从JS端访问它。如果我访问的是未包含在实际.NET项目中的远程站点,这是否会起作用?好像我错过了一些简单的东西,但经过一些文档后,我仍然被卡住了。
答案 0 :(得分:0)
我从this file复制了我的Program.cs。我误解了BrowserSubprocessPath
的目的并将其留在那里。删除该设置后,我可以访问JS中的CefSharp
对象。我的猜测是这个设置是在错误的地方初始化CefSharp对象。
BrowserSubprocessPath上的文档:
// The path to a separate executable that will be launched for sub-processes. By
// default the browser process executable is used. See the comments on Cef.ExecuteProcess()
// for details. Also configurable using the "browser-subprocess-path" command-line
// switch. Default is CefSharp.BrowserSubprocess.exe