从ChromeBrowser.RegisterAsyncJsObject切换到ChromeBrowser.JavascriptObjectRepository.Register不允许我处理函数调用

从ChromeBrowser.RegisterAsyncJsObject切换到ChromeBrowser.JavascriptObjectRepository.Register不允许我处理函数调用,javascript,c#,cefsharp,Javascript,C#,Cefsharp,在较旧的CEF版本(73.1.13)中,我将对象注册为(C#) 我加载的网页使用javascript查找灭绝对象并调用其中的函数。 它将在CommandObject类(C#)中接收 网页使用javascript window.extInterop.executeCommand("thecommand", 0); 这可以很好地工作,正如我在CommandObject中所期望的那样接收命令 但是,当我将CEF升级到新版本(85.3.13)时,我会收到System.NotImpl

在较旧的CEF版本(73.1.13)中,我将对象注册为(C#)

我加载的网页使用javascript查找灭绝对象并调用其中的函数。 它将在CommandObject类(C#)中接收

网页使用javascript

window.extInterop.executeCommand("thecommand", 0);
这可以很好地工作,正如我在CommandObject中所期望的那样接收命令

但是,当我将CEF升级到新版本(85.3.13)时,我会收到System.NotImplementedException和包含链接()的消息,其中可以找到有关如何替换调用的说明。我试着用它来代替它

ChromeBrowser.JavascriptObjectRepository.Register("extInterop",
   new CommandObject(this), isAsync: true, options: BindingOptions.DefaultBinder);
但是像以前一样从javascript端发送的消息永远不会在C#端传递


为什么不呢?

在73版中,RegisterAsyncJsObject方法只调用Register。如果您更改了绑定选项,是否使用相同的选项进行了测试?我测试了
ChromeBrowser.JavascriptObjectRepository.Register(“exiterOP”,newcommandobject(this),isAsync:true,options:newbindingoptions()),但事件处理程序未接收任何事件。是否已在DevTools控制台中检查错误?您是否设置了CefSharpSettings.LegacyJavascriptBindingEnabled?是的,我设置了CefSharpSettings.LegacyJavascriptBindingEnabled=true,并且devtools控制台不会向我吐。请您将您的更改转移到GitHub,好吗。请将更改压缩为一次提交一次提交。这将使查看更容易,谢谢。在73版中,RegisterAsyncJsObject方法只调用Register。如果您更改了绑定选项,是否使用相同的选项进行了测试?我测试了
ChromeBrowser.JavascriptObjectRepository.Register(“灭绝”,new CommandObject(this),isAsync:true,options:new BindingOptions()),但事件处理程序未接收任何事件。是否已在DevTools控制台中检查错误?您是否设置了CefSharpSettings.LegacyJavascriptBindingEnabled?是的,我设置了CefSharpSettings.LegacyJavascriptBindingEnabled=true,并且devtools控制台不会向我吐。请您将您的更改转移到GitHub,好吗。请将更改压缩为一次提交一次提交。那会让复习更容易,谢谢。
window.extInterop.executeCommand("thecommand", 0);
ChromeBrowser.JavascriptObjectRepository.Register("extInterop",
   new CommandObject(this), isAsync: true, options: BindingOptions.DefaultBinder);