100分求教,VB6中WebBrowser控件遇到的两个问题,请高手进来,分不够再追加,帮UP有分,版主也请进来……

bimajia6 2007-02-26 05:04:48
以下问题希望回答者通过代码实现发上来,非常谢谢

问题1:
WebBrowser控件显示的页面内容很长时,浏览到下面时,如何点击一个按钮让其显示最上面,就是top的意思,如果刷新当前页面是可以实现不过这个方法不好,会影响到别的功能。

WebBrowser1.Document.body.Scroll = "top"

上面的代码理论应该可以实现,但WebBrowser1.Document后面根本“.”不出来,不知道是不是还要声明什么,请用过的详细指教。

问题2:
点击WebBrowser1中的网页链接,弹出很多IE窗口,但我只想要第一个显示的,而且希望它能在WebBrowser控件中显示不单独弹出IE,并且把其他后来出现的窗口都屏蔽掉,我在网上查的结果是:按照从后至前的顺序把弹出的页面都屏蔽掉,只留第一个,思路我是有了,可是要怎么才能实现,请高手给做个例子。


请版主帮各忙,上面这个问题困扰小弟很久了,麻烦帮解决下,谢谢了。




...全文
432 点赞 收藏 21
写回复
21 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zzz22333 2007-02-27
VBToy(无证编程) ( ) 信誉:100 Blog 2007-02-27 10:20:46 得分: 0


弹出的广告页面应该是由新页面中的脚本如javascript弹出的吧?

------------------------------------------

我想应该是,因为每次我作的例子都是拿任意的网站比如:http://www.qq.com
回复
VBToy 2007-02-27
弹出的广告页面应该是由新页面中的脚本如javascript弹出的吧?
回复
zzz22333 2007-02-27
第一个问题解决

回复
xiaolei1982 2007-02-27
无法帮助你解决,只好帮顶啦
回复
zzz22333 2007-02-27
beal_p() ( ) 信誉:100 Blog 2007-02-27 09:11:29 得分: 0


好像意思是说, 只要第一个页面,其他的都屏蔽掉


----------------------------------
是这个意思


就是说点击链接的时候先弹出想要的页面,然后弹出类似广告的页面,同样显示在WebBrowser控件中,如果不屏蔽掉的话广告页面就把要显示的给挡住了。WebBrowser控件默认显示最后出现的页面。

以下是功能:

点击页面链接,我只想保留名字为“WebMenu”的页面,弹出的页面依次为:

WebMenu
页面1
页面2
页面3
……

请教怎么实现?

回复
蒋晟 2007-02-27
http://support.microsoft.com/kb/184876
回复
beal_p 2007-02-27
好像意思是说, 只要第一个页面,其他的都屏蔽掉
回复
feiyun0112 2007-02-27
newwindow事件

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
回复
VBToy 2007-02-27
第二个问题不是很明白。是不是一个页面只让点击一个链接?其它链接无效?
回复
VBToy 2007-02-27
第一个问题,在按钮的事件中:
WebBrowser1.Document.body.Scrolltop = 0
回复
zzz22333 2007-02-27
自己顶,直到问题解决,高手都没上班呢啊




回复
清晨曦月 2007-02-27
.........你可以加我QQ 47493585
回复
guyehanxinlei 2007-02-27
友情UP
回复
zzz22333 2007-02-27
现在结贴
回复
zzz22333 2007-02-27
zcsor(偶业余的斗胆写点blog(IE表单自动填写相关内容更新ing) ( ) 信誉:100 Blog 2007-02-27 16:10:35 得分: 0


以上代码是实现了在同一窗口打开,你可以测试一下,163里面你点一般的连接都是新窗口的.测试时加入一个WebBrowser控件.
实际上,我给你说啊,你完全可以不这样做,你可以直接在NewWindow2里取消所有窗口的弹出,然后判断将要打开的窗口的URL,如果是,则导航到就能够实现你要的功能了......具体怎么做LZ自己想吧,
有不对的还请大家指正.

言尽于此......

-----------------------------------------------------------------------------
已经实现了,谢谢,不过还有问题想请教,如果你还能看这个帖子请加QQ:36552941或者MSN:kenty5213@163.com
回复
li_net 2007-02-27
正在学习,帮顶!
回复
清晨曦月 2007-02-27
以上代码是实现了在同一窗口打开,你可以测试一下,163里面你点一般的连接都是新窗口的.测试时加入一个WebBrowser控件.
实际上,我给你说啊,你完全可以不这样做,你可以直接在NewWindow2里取消所有窗口的弹出,然后判断将要打开的窗口的URL,如果是,则导航到就能够实现你要的功能了......具体怎么做LZ自己想吧,
有不对的还请大家指正.

言尽于此......
回复
清晨曦月 2007-02-27
WebBrowser1.Document后面根本“.”不出来这是正常现象......或许和是COM对象有关..你可以去参考JAVA(或JS)的DOCUMENT对象帮助...里面的属性,事件,方法在VB里都是被支持的。
不单独弹出..比较不难....
拦截NEWWINDOW2事件即可...各位楼上的方法是不行的,直接Cancel = True就出不来窗口了...
具体实现方法如下:哈哈,前几天刚一哥们在QQ上问过我..

以下是代码:
Dim WithEvents Web_V1 As SHDocVwCtl.WebBrowser_V1

Private Sub Form_Load()
Set Web_V1 = WebBrowser1.Object

WebBrowser1.Navigate "http://www.163.com"
End Sub

Private Sub Web_V1_NewWindow(ByVal URL As String, ByVal Flags As Long, ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String, Processed As Boolean)
Processed = True
WebBrowser1.Navigate URL
End Sub

(这段代码摘自微软网站的知识问答)
参考:
http://blog.csdn.net/zcsor/archive/2007/01/19/1488048.aspx
回复
zzz22333 2007-02-27
VBToy(无证编程) ( ) 信誉:100 Blog 2007-02-27 13:52:15 得分: 0


'这样试一试
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Cancel = True
End Sub

-------------------------------------

这个我知道,但是我要的不是那样的,cancel只能阻止所有弹出的页面
回复
VBToy 2007-02-27
'这样试一试
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Cancel = True
End Sub
回复
加载更多回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7522

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2007-02-26 05:04
社区公告
暂无公告