如题,同时退出时,也有一个对话框,需要确认才能退出.
我不想这个对话框弹出,但是同时也要确认它才能进入.
进入时,这个对话框是基于网站对我电脑的分析作出的,当我的电脑上有某软件时,它会弹出对话框出来提示是否启动该软件.退出时,弹出对话框让我确认是否真的退出.
我不想这个对话框弹出,但是同时也要确认它才能进入.
进入时,这个对话框是基于网站对我电脑的分析作出的,当我的电脑上有某软件时,它会弹出对话框出来提示是否启动该软件.退出时,弹出对话框让我确认是否真的退出.
我用例子具体地说一下,HTML文档打开后,如果HTML里有window_onload函数,则会自动调用此函数,如果有两个window_onload函数,则会忽略第一个,转而执行第二个。明白了这一点,那么,可以用一个与包含弹出对话框代码的函数同名的函数进行覆盖就可以了,从功能上说,这个同名函数应该与原函数一样,但却没有弹出对话框那句代码。
现在的问题转而变成了如何在运行时往HTML文档中插入脚本了。幸好WebBrowser允许这样做,脚本对象与其它标签对象一样,都是可以插入的,其特殊之处是不能直接写这个新插入对象的内容,而是把SRC属性指向一个包括新函数的脚本文件。
明白了吗?
function beforeUnload()
{
if(window.event&&_hasReceiveMsg)
{
window.event.returnValue=False;
}
}
创建脚本:set st=createElement("SCRIPT")
添加脚本:ie.document.appendChild st。
不过,针对淘宝网这类的网站,还是尽量按规则行事。
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
如果是这原因的话
LZ可以试下在DocumentComplete事件中加入
WebBrowser1.Document.Body.onload=null
WebBrowser1这个是WebBrowser控件在窗口中的实例名称..
我刚测试了,这个方法是可行的
.'这是我的代码
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
WebBrowser1.Document.Body.onload = Null
End Sub
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