Не добавляется HostObjectToScript (мостик между приложением и js сайта)

Я только начал работать с Visual Studio и искренне не понимаю что я делаю не так. Уже кучу примеров посмотрел, API почитал, вроде все так делаю, но не работает...

Вот так добавляю мостик (это я уже психанул и стал добавлять его абсолютно везде...):

public Main()
        {
            InitializeComponent();
            webView.CoreWebView2InitializationCompleted += 
            WebView_CoreWebView2InitializationCompleted;
            webView.NavigationCompleted += WebView_NavigationCompleted;
        }

        private void WebView_NavigationCompleted(object? sender, CoreWebView2NavigationCompletedEventArgs e)
        {
            var jsBridge = new JSBridge();
            webView.CoreWebView2.DOMContentLoaded += CoreWebView2_DOMContentLoaded;
            webView.CoreWebView2.AddHostObjectToScript("stb", jsBridge);
        }

        private void WebView_CoreWebView2InitializationCompleted(object? sender, CoreWebView2InitializationCompletedEventArgs e)
        {
            var jsBridge = new JSBridge();
            webView.CoreWebView2.OpenDevToolsWindow();
            webView.CoreWebView2.AddHostObjectToScript("stb", jsBridge);
            webView.CoreWebView2.DOMContentLoaded += CoreWebView2_DOMContentLoaded;
        }

        private void CoreWebView2_DOMContentLoaded(object? sender, CoreWebView2DOMContentLoadedEventArgs e)
        {
            var jsBridge = new JSBridge();
            webView.CoreWebView2.AddHostObjectToScript("stb", jsBridge);
        }

Сам мостик:

[ClassInterface(ClassInterfaceType.AutoDual)]
[ComVisible(true)]
public class JSBridge
{
    public void play(String url)
    {
        Console.WriteLine("JS: play() " + url);
    }
}

На сайте вызываю stb.play("blabla") при нажатии на кнопку. Вот DevlTools открывается, а мостик вставляться не хочет... Использую в качестве браузера WebView2.


Ответы (1 шт):

Автор решения: Dmitriy

Разобрался.... Нужно было вызывать на странице с помощью chrome.webview.hostObjects.stb.play("blabla");

→ Ссылка