Инициировать событие в JavaScript внутри WebView из компонента среды выполнения Windows - PullRequest
0 голосов
/ 26 апреля 2018

Я ищу способ вызвать пользовательское событие в javascript из кода C #, написанного в компоненте среды выполнения Windows с атрибутом AllowForWeb. Я знаю, что работает наоборот (запуск события из JavaScript в C #), как это

public delegate void NotifyAppHandler( string str );

[AllowForWeb]
public sealed class WebViewInjectionObject
{
    public event NotifyAppHandler OnNotifyApp;

    public void NotifyApp( string str )
    {
        OnNotifyApp?.Invoke( str );
    }
}

Затем вы можете подписаться на событие в C # и вызвать его из JavaScript, как это

nativeObject.notifyApp(JSON.stringify(callInfo));

Где nativeObject было введено в WebView с AddWebAllowedObject

Теперь я ищу решение сделать обратное. Я хочу создать событие в javascript и запустить его из C #, используя снова внедренный объект из компонента времени выполнения Windows. Вы можете предположить, что у меня есть контроль над кодом javascript, который будет запускаться в WebView и при необходимости вносить в него изменения.

Примечание. Необходимость сделать это довольно неортодоксально объясняется тем, что я не могу / не хочу использовать InvokeScriptAsync из-за этой проблемы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...