使用webbroswer的一点技巧记录

时间:2022-04-11 19:07:42

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