【发布时间】:2010-11-29 08:24:52
【问题描述】:
我们的 Winforms 应用程序中有一个 Web 浏览器,可以很好地显示 xslt 呈现的选定项目的历史记录。
xslt 正在输出的 html 中写出 标记,以允许 webBrowser 控件导航到选定的历史条目。
由于我们不是在严格的网络意义上“导航”到 html,而是通过 DocumentText 设置 html,因此我无法使用#AnchorName“导航”到所需的锚点,因为 webBrowser 的 Url 为空(编辑:实际上在完成时它是关于:空白)。
在这种情况下,如何动态导航到 Web Browser 控件的 html 中的 Anchor 标记?
编辑:
感谢 sdolphion 的提示,这是我最终使用的代码
void _history_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
_completed = true;
if (!string.IsNullOrEmpty(_requestedAnchor))
{
JumpToRequestedAnchor();
return;
}
}
private void JumpToRequestedAnchor()
{
HtmlElementCollection elements = _history.Document.GetElementsByTagName("A");
foreach (HtmlElement element in elements)
{
if (element.GetAttribute("Name") == _requestedAnchor)
{
element.ScrollIntoView(true);
return;
}
}
}
【问题讨论】:
标签: c# winforms webbrowser-control