好久不用WebBrowser了,近日又一个东西用底层操作的方式没法实现又迫不得已使用WebBrowser。把以前的几个常用技巧记录下来以备以后查询

1.屏蔽网页中的js错误对话框

设置ScriptErrorsSuppressed属性值为true

2.强制所有超链接均在WebBrowser中打开

2.1在DocumentCompleted事件中写入以下代码:

//将所有的链接的目标,指向本窗体
foreach (HtmlElement archor in this.wsbMain.Document.Links)
{
archor.SetAttribute(
"target", "_self");
}

如需将form的指向也在WebBrowser打开则再加上以下代码:

//将所有的FORM的提交目标,指向本窗体
foreach (HtmlElement form in this.wsbMain.Document.Forms)
{
form.SetAttribute(
"target", "_self");
}

2.2在NewWindow事件中加上

e.Cancel = true;

3.访问统一网址时有缓存的问题

解决方案:在要访问的网址后加?id=随机数字;即给他强制加一个query参数,名称随意,那个value不要跟上次的重复

webBrowser1.Navigate("http://china.alibaba.com/member/alipay_manager.htm?tracelog=work_7_m_alipaymanager?id=" + mvCurrentIndex);

//其中mvCurrentIndex是我一个自增长的int类型变量

版权声明:本文为phcis原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/phcis/archive/2011/07/01/2096005.html