【发布时间】:2015-07-30 15:40:57
【问题描述】:
我有一个 WPF WebBrowser 控件,我在我的 wpf 客户端应用程序中使用它来导航到不同的页面。它具有调用 this.webbrowser.goback()、this.webbrowser.goforward()、this.webbrowser.go() 等基本功能。
虽然 Web 应用程序可以在 IE 上正常工作,这意味着不止一个级别的所有前进和后退导航。超过一个级别的导航在我的 WPF 应用程序中的一个页面(具有联系人链接的 Billings 和联系人页面我们有地址链接。)点击我的地址页面上的后退按钮时,它会转到联系人页面,但点击联系人页面上的后退按钮不会转到结算页面。
由于它在 IE 中运行良好,没有任何问题,我怀疑我的 WPF 应用程序有问题。我这里有几个问题。
- webbrowser.goback() 和 IE 的后退按钮一样吗?或者与 IE 相比,wpf webbrowser 控件中会遗漏任何事件?
- 有什么方法可以从 WPF 应用程序本身调试 javasctipts 吗?
- 有没有更好的方法从 WPF 应用程序中调试此类场景?
- IE 是将 WPF WebBrowser 导航存储在其历史记录中还是单独的实例?
我的控件如下所示
<WebBrowser x:Name="webBrowser" DockPanel.Dock="Bottom" Navigating="webBrowser_Navigating" Navigated="webBrowser_Navigated" LoadCompleted="webBrowser_LoadCompleted"/>
后面的代码如下:
private void backButton_Click(object sender, RoutedEventArgs e)
{
// Navigate to the previous HTML document, if there is one
if (this.webBrowser.CanGoBack)
{
this.webBrowser.GoBack();
}
else
{
MessageBox.Show("Cannot go back. There needs to be something in the history to go back to.");
}
}
private void forwardButton_Click(object sender, RoutedEventArgs e)
{
// Navigate to the next HTML document, if there is one
if (this.webBrowser.CanGoForward)
{
this.webBrowser.GoForward();
}
else
{
MessageBox.Show("Cannot go Forward. There needs to be something in the history to go forward to.");
}
}
【问题讨论】:
-
Dean 的链接看起来是个不错的解决方案
标签: javascript c# jquery wpf