如题,同时退出时,也有一个对话框,需要确认才能退出.
我不想这个对话框弹出,但是同时也要确认它才能进入.
进入时,这个对话框是基于网站对我电脑的分析作出的,当我的电脑上有某软件时,它会弹出对话框出来提示是否启动该软件.退出时,弹出对话框让我确认是否真的退出.

解决方案 »

  1.   

    先取得弹出窗口的句柄 ,再根据句柄把这个窗口点一下确定不就行了获得新弹出窗口的句柄请用BAIDU搜吧
      

  2.   

    这个问题有一点复杂,如果那个弹出对话框是在一个校验函数里,可以利用IE的函数覆盖来实现,否则比较困难。
    我用例子具体地说一下,HTML文档打开后,如果HTML里有window_onload函数,则会自动调用此函数,如果有两个window_onload函数,则会忽略第一个,转而执行第二个。明白了这一点,那么,可以用一个与包含弹出对话框代码的函数同名的函数进行覆盖就可以了,从功能上说,这个同名函数应该与原函数一样,但却没有弹出对话框那句代码。
    现在的问题转而变成了如何在运行时往HTML文档中插入脚本了。幸好WebBrowser允许这样做,脚本对象与其它标签对象一样,都是可以插入的,其特殊之处是不能直接写这个新插入对象的内容,而是把SRC属性指向一个包括新函数的脚本文件。
    明白了吗?
      

  3.   

    这个网页的<body onload="checkStatusOnload();" onbeforeunload="beforeUnload();" onunload="quickOut();">我估计,弹出窗口是由这三个LOAD引起的,如何屏蔽body里面的load
      

  4.   

    先看弹出对话框的语句在哪个函数中,然后用记录本复制这个函数,注释掉这一句,随便起一个文件名,但扩展名必须为js,然后在VB里为Document创建一个新的SCRIPT对象就可以了。
      

  5.   

    我刚才试了,可以去掉关闭时的对话框,创建一个脚本对象后将以下脚本内容加入到document中,就可以覆盖原来的代码了:
    function beforeUnload()
    {
        if(window.event&&_hasReceiveMsg)
        {
            window.event.returnValue=False;
        }
    }
    创建脚本:set st=createElement("SCRIPT")
    添加脚本:ie.document.appendChild st。
    不过,针对淘宝网这类的网站,还是尽量按规则行事。
      

  6.   


    Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        Dim fn As Integer
        Dim strScript As String
        Dim objScript As Object
        
        strScript = "function beforeUnload()" & vbCrLf
        strScript = strScript & "{" & vbCrLf
        strScript = strScript & "if(window.event&&_hasReceiveMsg)" & vbCrLf
        strScript = strScript & "{" & vbCrLf
        strScript = strScript & "window.event.returnValue='love';" & vbCrLf
        strScript = strScript & "}" & vbCrLf
        strScript = strScript & "}"
        fn = FreeFile
        Open "c:\temp.js" For Binary As #fn
        Put #fn, , strScript
        Close #fn
        Set objScript = Me.WebBrowser1.Document.createelement("SCRIPT")
        objScript.src = "c:\temp.js"
        Me.WebBrowser1.Document.appendchild objScript
    End Sub
      

  7.   


    如果是这原因的话
    LZ可以试下在DocumentComplete事件中加入
    WebBrowser1.Document.Body.onload=null
      

  8.   

    咦... 你..熟悉VB不呀..
    WebBrowser1这个是WebBrowser控件在窗口中的实例名称..
    我刚测试了,这个方法是可行的
    .'这是我的代码
    Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        WebBrowser1.Document.Body.onload = Null
    End Sub
      

  9.   

    今天在做一个项目时才发现,使用Me.WebBrowser1.Document.appendchild objScript会导到页面重载,为避免这种情况,此句需改为:
        If Me.WebBrowser1.Document.getElementsByTagName("HEAD").length > 0 Then
            Me.WebBrowser1.Document.getElementsByTagName("HEAD")(0).appendChild objScript
        Else
            Me.WebBrowser1.Document.body.appendChild objScript
        End If