标题:webbrowser制作多标签浏览器问题
只看楼主
luguang911
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2022-1-14
结帖率:0
已结贴  问题点数:20 回复次数:5 
webbrowser制作多标签浏览器问题

想做一个浏览器,但是找遍了全网都没有教程,跪求大佬帮我写个我学习下,感谢了!
浏览器如图 有前进,后退,刷新,首页(点击后跳转到网址A),官网(点击后跳转到网址B)
下面的webbrowser框初始网站随便填一个,如果浏览的网页链接是在新页面打开,那么则自动在浏览器上面添加一个网页(类似360和chrome的多标签一样)双击或者点击每个页面的关闭按钮可关闭当前网页,谢谢啦,跪求源码
搜索更多相关主题的帖子: 点击 标签 网页 浏览器 webbrowser 
2022-01-14 16:17
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
得分:4 
简单的网页控制.zip (6.7 KB)

附件是简单的网页控制的程序。
实现功能:
1、打开默认网页
2、点击官网、首页都会切换
3、网页点击链接,会在同一窗口打开信链接。这样之后才会有回退,前进控制
4、如果在新窗口打开链接,那么就需要动态生成webbrowser空间数组,还需要设置Webbrowser1_NewWindow2的事件

【控制新链接在同一窗口打开的代码】
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
  Cancel = True
  WebBrowser1.Navigate2 WebBrowser1.Document.activeElement.href
End Sub
【控制新链接在第二个窗口打开的代码】【如果这样要打开N个,那么就需要建立N个web和N个代开的方式,得用控件数组】
Private Sub Webbrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
  Set ppDisp = webbrowser2.Object
  webbrowser2.ZOrder
End Sub

2022-01-14 20:52
独木星空
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:河北省曲阳县
等 级:版主
威 望:57
帖 子:713
专家分:556
注 册:2016-6-29
得分:4 
回复 2楼 wds1
学习了。vb6我还是接触的较少。

素数问题的解决是我学习编程永恒的动力。
2022-01-15 04:09
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:4 
我是使用的 多窗口,所以我是针对窗口上的 控件进行刷新,参考一下吧。都是关键找到对应的webbrow 控件。
程序代码:
'以下代码都是在 MDIForm中的
Private Sub Command2_Click()
On Error Resume Next
    If Me.ActiveForm.Name = "Form1" Then
        Me.ActiveForm.WebBrowser1.GoBack        '
    End If
End Sub

Private Sub Command4_Click()
On Error Resume Next
    If Me.ActiveForm.Name = "Form1" Then
        Me.ActiveForm.WebBrowser1.GoForward        '
    End If
End Sub

Private Sub Command5_Click()
On Error Resume Next
    If Me.ActiveForm.Name = "Form1" Then
        Me.ActiveForm.WebBrowser1.Refresh        '
    End If
End Sub

Private Sub Command1_Click()       '新建
Dim fr As New Form1
fr.WebBrowser1.Navigate HomeUrl    '自动打开首页

fr.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight     '窗口自动最大,不是最大化
End Sub


还有啥?
转到,代码在窗体 FORM1 中的
Private Sub Command1_Click()
    WebBrowser1.Navigate2 Text1.Text
End Sub


链接要求新开窗口?也在FORM1中
程序代码:
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
On Error Resume Next
Dim fr As New Form1
fr.Show
Set ppDisp = fr.WebBrowser1.Object
fr.Move 0, 0, MDIForm1.ScaleWidth, MDIForm1.ScaleHeight
End Sub


Form1的过程还有
程序代码:
Private Sub WebBrowser1_OnQuit()
'浏览器退出
Unload Me
End Sub

Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
'提示
If Len(Text) > 0 Then
    Label1.Caption = Text
Else
    Label1.Caption = "完成"
End If
End Sub

Private Sub WebBrowser1_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
'浏览器要求关闭
Unload Me
End Sub


这二个,好像是防止弹出一个什么脚本报错的窗口,忘了。2014年写的代码。
程序代码:
Private Sub WebBrowser1_DownloadBegin()
WebBrowser1.Silent = True
End Sub

Private Sub WebBrowser1_DownloadComplete()
WebBrowser1.Silent = True
End Sub

授人于鱼,不如授人于渔
早已停用QQ了
2022-01-15 11:10
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:4 
webbrowser做多标签浏览肯定是可以,但要考虑:
1、用页框控件做标签页面,如果用多线程,webbrowser内核是否支持多线程
2、webbrowser内核不支持多线程时,只能考虑多进程(现在的主流浏览器大都是)
2022-01-15 11:13
幼红月
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2022-1-18
得分:4 
已拿资源,留爪
2022-01-19 09:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508150-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.613310 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved