2014-10-20 29 views
0

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

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

任何想法?

回答

1

我有同样的问题,但你的回答给了我一个主意,我希望我的解决方案适合你。

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

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

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

看起来像这样问题解决了。

+0

请给出一个代码块格式给你的答案 – Robert 2014-10-24 17:42:08

0

我调查的结果是,如果你设置的URL太早 - 在创建浏览器对象ChromiumWebBrowser直到高达约250毫秒(尝试我的机器上&误差值) - 至少背功能和JavaScript注入赢得没有工作。 Initialized事件不是解决方案,因为它太早。除此之外,该网站将呈现良好状态,您可以浏览网页。这是分散我并让我在其他地方寻找的部分。