1

我正在开发简单的应用程序,我想在图像点击时显示并显示网页,但我不想显示包含菜单、徽标图像的标题 div 内容。

以便能够使用Web 浏览器控件调用和显示网页

我的 C# 代码 ID

private void image_Tap(object sender, GestureEventArgs e)
    {
        webBrowser1.Navigate(new Uri("http://www.my-url.com", UriKind.Absolute));
    }

效果很好。

现在我如何删除标题标签数据(b/w < header ></header > divs 中的内容)。

提前致谢

4

3 回答 3

2

Web 浏览器控件只是加载您传递给它的 HTML 文档。如果文档未托管在您自己的服务器上,则无法直接操作此 HTML。一种非常原始的方法是解析 HTML 文档,然后执行搜索/替换<header>...</header><!--<header>..</header>-->
您可以使用WebBrowser.SaveToString方法将 HTML 文档源保存为字符串。对于 C# 中的 HTML 解析,我建议使用HTML Agility Pack。另请查看在 C# 中解析 html 的最佳方法是什么?解析 HTML 字符串

于 2013-01-07T07:49:39.287 回答
1

如果你想用 JavaScript 来做:

document.getElementsByTagName('header')[0].style.display = 'none';

于 2013-01-07T07:50:45.917 回答
1

Windows Phone 中的 WebBrwoserControl 呈现从 URL 获取的 html。

您可以在呈现 HTML 后执行 javascript 代码(来自您的 c# 代码)来操作呈现的 DOM/HTML - 在您的情况下删除 HTML 标记。您所要做的就是使用 InvokeScript。

假设您想在按下 Windows Phone 应用程序中的按钮时执行一些代码。该按钮单击事件的事件处理程序是 Button1_Click ,执行代码的代码如下。

private void Button1_Click(object sender, RoutedEventArgs e)
{
    object results = WB1.InvokeScript("HideElement", new string[] { "hideElement" });
}

您现在需要做的就是在您的页面中添加一个名为“HideElement”的函数,您可以从 www.my-url.com 加载该函数并设置好。当单击按钮时,InvokeScript 调用该函数。需要明确的是:该 javscript 功能需要位于您加载的网页来自的 Web 服务器上。

于 2013-01-07T12:10:42.180 回答