WebBrowser 控件中屏蔽alert,confirm脚本对话框的方法-默认点击确定或取消。

首先在项目引用里面,选择COM选项卡,添加 Microsoft HTML Object Library

添加mshtml命名空间的引用。



            HtmlDocument doc = webBrowser1.Document;
            IHTMLWindow2 win 
= (IHTMLWindow2)doc.Window.DomWindow;
         
            HtmlElementCollection hc 
= webBrowser1.Document.GetElementsByTagName("input");
            
foreach (HtmlElement h in hc)
            {
                
if (h.OuterHtml.Contains("Submit1"))
                {
                    s1 
= @"function confirm() {";
                    s1 
+= @"return false;";
                    s1 
+= @"}";
                    s1 
+= @"function alert()  {}";
       
//alert()弹出的对话框  隐藏情况下被点击确定后 如果想继续执行操作 可以s1 += @"function alert()  {document.write('ddd')}";
                    win.execScript(s1, "javascript");

                    h.InvokeMember(
"click");
                                   
                }
            }

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>

<script  language="javascript">
function repost(){
             
  
if(confirm("对话框")) 
       document.write(
"Hello, world!");

 

             
            }
            
 
function repost2(){
             
 
 alert(
"alert");

             
            }
</script>

</head>
<body>
<form id="form1" name="form1" method="post" action="">
  
<label>
  
<input type="submit" name="Submit" value="禁用confirm"  onclick="javascript:repost();"/>
  
<input type="submit" name="Submit1" value="禁用alert"  onclick="javascript:repost2();"/>
  
</label>
</form>
 
</body>
</html>

posted on 2009-08-15 15:17  Master zhu  阅读(1008)  评论(0编辑  收藏  举报

导航