0

我目前正在使用 CefSharp.MinimalExample.Wpf(CEF 分支 1750 和 CefSharp 33.0.0)来评估我的问题。我只是像这样向 MainView.xaml 添加了一个按钮<Button Command="{Binding WebBrowser.BackCommand}">Back</Button>。按钮启用状态在加载站点时更新(一旦加载站点,它就是可按下的)。但是点击它并不能返回导航。

我的第二种方法是在单击时执行一个 java 脚本片段,browser.ExecuteScriptAsync("history.back()");但这也不起作用。

有任何想法吗?

4

2 回答 2

1

我有同样的问题,但你的回答给了我一个想法,我希望我的解决方案对你有用。

浏览器显示的第一页就像一个空白页,所以,当这个空白页被加载时,我通过FrameLoadEnd浏览器的事件分配 URL。

我有一个标志来避免多次分配 URL。

Browser.FrameLoadEnd += delegate
                        {
                            if (!flag)
                            {
                                Browser.Address = "http://www.google.com.mx";
                                flag = true;
                            }
                        };

看来有了这个问题就解决了。

于 2014-10-24T17:33:52.263 回答
0

我的调查结果是,如果您过早地设置 URL - 在创建浏览器对象ChromiumWebBrowser时直到大约 250 毫秒(我的机器上的尝试和错误值) - 至少后退功能和 JavaScript 注入将不起作用。该Initialized事件不是解决方案,因为它为时过早。除此之外,该网站将呈现良好,您可以浏览网页。这是让我分心并让我在其他地方搜索的部分。

于 2014-10-23T16:48:17.837 回答