好久不用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类型变量