比如其HTML如下:
<a target="_blank" href='./PubWindow/WorkLayoutBrower.aspx?WorkLayoutID=3' title=""></a>
<a target="_blank" href='./PubWindow/OfficeDocBrower.aspx?OfficeDocID=20090616162118001' title=""></a>在WebBrowser控件中怎么样才能去除掉含有 OfficeDocBrower.aspx 中的 target="_blank" ?
<a target="_blank" href='./PubWindow/WorkLayoutBrower.aspx?WorkLayoutID=3' title=""></a>
<a target="_blank" href='./PubWindow/OfficeDocBrower.aspx?OfficeDocID=20090616162118001' title=""></a>在WebBrowser控件中怎么样才能去除掉含有 OfficeDocBrower.aspx 中的 target="_blank" ?
解决方案 »
- vs2012 for win8 如何解析Xml
- 有一万条数据,根据数据从10个文件夹中寻找每条数据对应的图片。将这些图片放到同一文件夹如何实现。
- IStyleGalleryItem与ITextSymbol的转换
- Convert.ToDateTime 问题
- 两个页面传值的语句,有一句看不懂请教各位。谢谢。
- ====如何读取App.config文件中的自定义配置节====
- 急求:C#中BCD码转成10进制的函数
- 请求的范围扩展超过了数组的结尾。 大家能说说怎么回事吗
- 遇到这种情况大家怎么处理? 在虚基类的构造要使用到派生类构造器中的参数
- sql数据库的数据写入xml
- C#怎么读取一列数据,并将各列数据绘制成曲线图?
- datagridview 总是不停的闪烁
应该可以动态添加的
遇到事OfficeDocBrower.aspx的不设置target。。
去掉不成么?
循环修改
this.WebBrowser1.AllowNavigation = false;
取消WebBrowser控件的NewWindow操作:
this.WebBrowser1.NewWindow += new CancelEventHandler(WebBrowser1_NewWindow);
private void WebBrowser1_NewWindow(object sender, CancelEventArgs e)
{
e.Cancel = true;
}或解析HTML参考
foreach (HtmlElement he in hc)
{
if (he.GetAttribute("href").Contains("OfficeDocBrower.aspx"))
{
he.OuterHtml.Replace("target=_blank", "");
}
}
{
e.Cancel = true;//取消打开新窗口动作
try
{
//获取要打开的新窗口链接地址
string url = this.webBrow.Document.ActiveElement.GetAttribute("href");
//这个是将链接地址在另个嵌入WebBrowser控件的窗体中打开
ContainerIEBrow.ShowContainerIEBrow(this, new Uri(url));
}
catch
{
}
}
参考:
http://www.phpchinaz.cn/c/CSharp/52_5201_1213674267.html
将通过HttpWebRequest获取的字符串进行处理后付给WebBrowser!
HtmlElementCollection coll_a = doc.GetElementsByTagName("A");
for (int i = 0; i < coll_a.Count; i++)
{
if (coll_a[i].OuterHtml.IndexOf(OfficeDocBrower.aspx) > 1)
{
coll_a[i].SetAttribute("target", "_self");
}
}
[align=left]HtmlElementCollection coll_a = doc.GetElementsByTagName("A");
for (int i = 0; i < coll_a.Count; i++)
{
if (coll_a[i].OuterHtml.IndexOf("OfficeDocBrower.aspx") > 1)
{
coll_a[i].SetAttribute("target", "_self");
}
}[/align]
HtmlElementCollection coll_a = doc.GetElementsByTagName("A");
for (int i = 0; i < coll_a.Count; i++)
{
if (coll_a[i].OuterHtml.IndexOf("OfficeDocBrower.aspx") > 1)
{
coll_a[i].SetAttribute("target", "_self");
}
}