CefSharp.wpf Web 浏览器导航事件 (C# .Net)

Posted

技术标签:

【中文标题】CefSharp.wpf Web 浏览器导航事件 (C# .Net)【英文标题】:CefSharp.wpf web browser navigated event (C# .Net) 【发布时间】:2015-12-04 08:18:14 【问题描述】:

是否可以使用 Webbrowser 控件(内置)连接像 Navigated 这样的事件?我需要在桌面应用程序中执行 oAuth,并且我需要知道身份验证代码是否已添加到 redirect_uri。

我使用的是内置的 WebBrowser 控件,它具有导航和导航等事件,但我遇到了关于 ieframe.dll/navcancl.htm 的问题,所以我决定使用 CefSharp.wpf ChromiumWebBrowser 但我不是能够定位在浏览器完成对 URL 的导航后可以调用的任何事件。

这就是我在 xaml 中所做的

 <wpf:ChromiumWebBrowser Grid.Row="0" Grid.Column="0"
        x:Name="ChromiumBrowser"
        WebBrowser="Binding WebBrowser, Mode=OneWayToSource" FrameLoadStart="ChromiumBrowser_OnFrameLoadStart"
        Title="Binding Title, Mode=TwoWay" />

当用户请求进行身份验证时,我将地址设置为

ChromiumBrowser.Address = NavigateUrl

【问题讨论】:

【参考方案1】:

ChromiumWebBrowser 有一个带有LoadingStateChangedArgsLoadingStateChanged 事件,它有一个IsLoading 属性。它还有一个FrameLoadEnd 事件,当页面中的框架完成加载时会引发该事件。

【讨论】:

在当前版本中,该事件称为NavStateChanged,在即将发布的43 中,它已重命名为LoadingStateChanged,以保持与upstream CEF 项目的内联。 github.com/cefsharp/CefSharp/blob/cefsharp/41/CefSharp/… 作为参考,当前稳定版本是41.0.1 我从 Nuget 及其 v43(预发行版)安装了它,所以我已经可以看到更改 @amaitland :)

以上是关于CefSharp.wpf Web 浏览器导航事件 (C# .Net)的主要内容,如果未能解决你的问题,请参考以下文章

wpf中js调用C#后台方法,使用框架CefSharp

cefsharp wpf怎么用

wpf写的前端改成用js写可以吗?

名称空间“clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf”中不存在名称 ChromiumWebBrowser

cefsharp wpf wpf加载svg 在同一个页面中打开链接

CefSharp For WPF基本使用