Как использовать CEFSharp JavascriptObjectRepository в WPF - PullRequest
0 голосов
/ 20 апреля 2020

Я хочу получить javascript ответ,

и следовать документу cef,

это мой шаг,

сначала создать html файл

...
<button onclick='test()'>click</button>
...
<script>
function test(){ 
  alert('123');
  callbackObj.getMessage('123');
}
</script>

и затем я регистрирую javascript метод ответа

CefSharpSettings.LegacyJavascriptBindingEnabled = true;
this.MyBrowser.JavascriptObjectRepository.Register("callbackObj", new PagaJavaScriptResponse(), true);

и создаю класс для выполнения PagaJavaScriptResponse

 public class PagaJavaScriptResponse
 {
   public void getMessage(string s)
   {
        ....
   }       
 }

следующий шаг для проверки привязки регистра

var isBound = this.MyBrowser.JavascriptObjectRepository.IsBound("callbackObj");

результат верен,

последний шаг к URL http://127.0.0.1/index.html

this.MyBrowser.Address = @"http://127.0.0.1:8887/test.html";

здесь я думаю, что когда я нажимаю кнопку, это должно быть верните 123 моему методу в C#, но не в

hot это правильно?

1 Ответ

0 голосов
/ 20 апреля 2020

Я пытаюсь найти решение

, только когда страница загружена, извините javascript

this.MyBrowser.WebBrowser.ExecuteScriptAsyncWhenPageLoaded(@"(async function() {await CefSharp.BindObjectAsync('callbackObj', 'bound');})();");

, это будет работать

...