【WPF、C#】CefSharp ブラウザのロード開始とロード終了時に何かをさせたい時の方法

2020年4月3日

CefSharp ブラウザの表示させる時ブラウザのロード開始時やロード終了時に何かをさせたい場合の方法です。

JavaScriptを使用した方法はこちら(CSSをJavaScriptで挿入する場合はロード後に読み込む)

おまじない

using CefSharp;
using CefSharp.Wpf;
using System.Windows.Threading;

ロード開始時

public partial class SabWindow : Window
    {
        public SabWindow()
        {
            InitializeComponent();

            var Browser = new CefSharp.Wpf.ChromiumWebBrowser();
            Browser.Address = "https://google.co.jp";
            Content = Browser;

            Browser.FrameLoadStart += (sender, e) =>
            {
            //させたいことを書く
            //例アラートを表示
            Browser.ExecuteJavaScriptAsync("alert('HELLO!')");

            };

       }
    }

ロード中

public partial class SabWindow : Window
    {
        public SabWindow()
        {
            InitializeComponent();

            var Browser = new CefSharp.Wpf.ChromiumWebBrowser();
            Browser.Address = "https://google.co.jp";
            Content = Browser;

            Browser.IsLoading += (sender, e) =>
            {
            //させたいことを書く
            //例アラートを表示
            Browser.ExecuteJavaScriptAsync("alert('HELLO!')");

            };

       }
    }

ロード終了時

public partial class SabWindow : Window
    {
        public SabWindow()
        {
            InitializeComponent();

            var Browser = new CefSharp.Wpf.ChromiumWebBrowser();
            Browser.Address = "https://google.co.jp";
            Content = Browser;

            Browser.FrameLoadEnd += (sender, e) =>
            {
            //させたいことを書く
            //例アラートを表示
            Browser.ExecuteJavaScriptAsync("alert('HELLO!')");

            };

       }
    }

Browser.FrameLoadの後がStartになるかEndになるかなので簡単!

C#,WPF

Posted by BlueBear