一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

通信網(wǎng)絡(luò )設計課程設計簡(jiǎn)單瀏覽器的設計(一)

時(shí)間:2024-06-18 00:21:53 通信工程畢業(yè)論文 我要投稿
  • 相關(guān)推薦

通信網(wǎng)絡(luò )設計課程設計簡(jiǎn)單瀏覽器的設計(一)

設計要求:I1.簡(jiǎn)單瀏覽器的設計
環(huán)境要求:Windows95/98/2000/XP/2000,校園網(wǎng),程序語(yǔ)言自定
功能要求:要編寫(xiě)能瀏覽網(wǎng)頁(yè)的程序。

1.前言
1.1相關(guān)背景知識介紹
 網(wǎng)頁(yè)瀏覽器是日常中人們上網(wǎng)時(shí)所必須的應用軟件之一,在多年以前瀏覽器市場(chǎng)里還存在著(zhù)網(wǎng)景公司的Netscape與微軟公司的Internet  Explorer兩大巨頭之間的競爭,然而,隨著(zhù)個(gè)人電腦的迅速普及以及Windows操作系統占領(lǐng)了絕大部分市場(chǎng)(而Windows中又捆綁著(zhù)IE瀏覽器),微軟的這一壟斷性的行為導致現如今,就只剩下IE了。當然隨著(zhù)用戶(hù)需求的不斷提高,,目前很多公司和個(gè)人都開(kāi)發(fā)出了比較不錯的瀏覽器,例如,美觀(guān)實(shí)用的傲游(MYIE)、小巧玲瓏的Opera以及騰訊公司開(kāi)發(fā)出來(lái)的TT瀏覽器等,都受到了許多使用者的青睞。
 1.2 文章概要及程序設計思路
 1.2.1 文章內容概述
 本文以Visual Basic 6.0封裝的IE核心控件—WebBrowser為中心,闡述以及探討網(wǎng)頁(yè)瀏覽器編程的基本技巧和思路,并實(shí)現一個(gè)具有多頁(yè)面顯示功能的網(wǎng)頁(yè)瀏覽器,并且它能夠將彈出式的窗口捕捉在瀏覽器內。在文章中將以程序代碼的各大模塊為主要線(xiàn)索,解釋并分析部分原代碼,而完整的原代碼將加在附錄里。最后,再將本次畢業(yè)設計的成果與現在被廣泛運用的瀏覽器做比較,總結這次設計工作的得失。
 1.2.2瀏覽器的功能簡(jiǎn)述
 本文中所實(shí)現的網(wǎng)頁(yè)瀏覽器將會(huì )具有以下六大功能:
 (1)能夠進(jìn)行基本的網(wǎng)絡(luò )導航,例如前進(jìn)、后退、刷新、停止等等。
 (2)在瀏覽器內實(shí)現搜索功能。
 (3)查看歷史瀏覽記錄。
 (4)進(jìn)行收藏夾管理。
 (5)各種屬性設置,如最小化到收藏夾、主頁(yè)設置等。
 (6)設置IE瀏覽器的各項屬性。
  (7)進(jìn)行頁(yè)面打印,并設置打印屬性

2.編譯原理
 在計算機的各種編程語(yǔ)言中,作為第四代編程語(yǔ)言的Visual Basic,不僅容易學(xué)習和掌握,而且其自身的功能非常強大。在Visual Basic 6.0中,編寫(xiě)網(wǎng)頁(yè)瀏覽器,最簡(jiǎn)單的方法就是直接使用Visual Basic提供的網(wǎng)頁(yè)控件WebBrowser,在本次設計中也是使用的它,這個(gè)ActiveX控件和Windows操作系統所自帶的瀏覽器使用的是同一個(gè)內核,即IE內核。
 該控件的屬性、方法和事件:
方法 說(shuō)明 
 GoBack  相當于IE的“后退”按鈕,使你在當前歷史列表中后退一項  
 GoForward  相當于IE的“前進(jìn)”按鈕,使你在當前歷史列表中前進(jìn)一項  
 GoHome  相當于IE的“主頁(yè)”按鈕,連接用戶(hù)默認的主頁(yè)  
 GoSearch  相當于IE的“搜索”按鈕,連接用戶(hù)默認的搜索頁(yè)面  
 Navigate  連接到指定的URL  
 Refresh  刷新當前頁(yè)面 
 Refresh2  同上,只是可以指定刷新級別,所指定的刷新級別的值來(lái)自RefreshConstants枚舉表, 該表定義在ExDisp.h中,可以指定的不同值如下: REFRESH_NORMAL 執行簡(jiǎn)單的刷新,不將HTTP pragma: no-cache頭發(fā)送給服務(wù)器 REFRESH_IFEXPIRED 只有在網(wǎng)頁(yè)過(guò)期后才進(jìn)行簡(jiǎn)單的刷新 REFRESH_CONTINUE 僅作內部使用。在MSDN里寫(xiě)著(zhù)DO  NOT  USE! 請勿使用 REFRESH_COMPLETELY 將包含pragma: no-cache頭的請求發(fā)送到服務(wù)器  
 Stop  相當于IE的“停止”按鈕,停止當前頁(yè)面及其內容的載入  

屬性 說(shuō)明 
 Application  如果該對象有效,則返回掌管WebBrowser控件的應用程序實(shí)現的自動(dòng)化對象(IDispatch)。如果在宿主對象中自動(dòng)化對象無(wú)效,這個(gè)程序將返回WebBrowser 控件的自動(dòng)化對象  
 Parent  返回WebBrowser控件的父自動(dòng)化對象,通常是一個(gè)容器,例如是宿主或IE窗口  
 Container  返回WebBrowser控件容器的自動(dòng)化對象。通常該值與Parent屬性返回的值相同  
 Document  為活動(dòng)的文檔返回自動(dòng)化對象。如果HTML當前正被顯示在WebBrowser中,則 Document屬性提供對DHTML Object Model的訪(fǎng)問(wèn)途徑  
 TopLevelContainer  返回一個(gè)Boolean值,表明IE是否是WebBrowser控件頂層容器,是就返回true  
 Type  返回已被WebBrowser控件加載的對象的類(lèi)型。例如:如果加載.doc文件,就會(huì )返 回Microsoft Word Document  
 Left  返回或設置WebBrowser控件窗口的內部左邊與容器窗口左邊的距離  
 Top  返回或設置WebBrowser控件窗口的內部左邊與容器窗口頂邊的距離  
 Width  返回或設置WebBrowser窗口的寬度,以像素為單位  
 Height  返回或設置WebBrowser窗口的高度,以像素為單位  
 LocationName  返回一個(gè)字符串,該字符串包含著(zhù)WebBrowser當前顯示的資源的名稱(chēng),如果資源 是網(wǎng)頁(yè)就是網(wǎng)頁(yè)的標題;如果是文件或文件夾,就是文件或文件夾的名稱(chēng)  
 LocationURL  返回WebBrowser當前正在顯示的資源的URL  
 Busy  返回一個(gè)Boolean值,說(shuō)明WebBrowser當前是否正在加載URL,如果返回true 就可以使用stop方法來(lái)撤銷(xiāo)正在執行的訪(fǎng)問(wèn)操作  

事件  說(shuō)明  
BeforeNavigate2  導航發(fā)生前激發(fā),刷新時(shí)不激發(fā) 
CommandStateChange  當命令的激活狀態(tài)改變時(shí)激發(fā)。它表明何時(shí)激活或關(guān)閉Back和Forward 菜單項或按鈕  
DocumentComplete  當整個(gè)文檔完成是激發(fā),刷新頁(yè)面不激發(fā) 
DownloadBegin  當某項下載操作已經(jīng)開(kāi)始后激發(fā),刷新也可激發(fā)此事件 
DownloadComplete  當某項下載操作已經(jīng)完成后激發(fā),刷新也可激發(fā)此事件 
NavigateComplete2  導航完成后激發(fā),刷新時(shí)不激發(fā) 
NewWindow2  在創(chuàng )建新窗口以前激發(fā) 
OnFullScreen  當FullScreen屬性改變時(shí)激發(fā)。該事件采用VARIENT_BOOL的一個(gè)輸 入參數來(lái)指示IE是全屏顯示方式(VARIENT_TRUE)還是普通顯示方式(VARIENT_FALSE)  
OnMenuBar  改變MenuBar的屬性時(shí)激發(fā),標示參數是VARIENT_BOOL類(lèi)型的。 VARIANT_TRUE是可見(jiàn),VARIANT_ FALSE是隱藏  
OnQuit  無(wú)論是用戶(hù)關(guān)閉瀏覽器還是開(kāi)發(fā)者調用Quit方法,當IE退出時(shí)就會(huì )激發(fā)  
OnStatusBar  與OnMenuBar調用方法相同,標示狀態(tài)欄是否可見(jiàn)。  
OnToolBar  調用方法同上,標示工具欄是否可見(jiàn)。 
OnVisible  控制窗口的可見(jiàn)或隱藏,也使用一個(gè)VARIENT_BOOL類(lèi)型的參數  
StatusTextChange  如果要改變狀態(tài)欄中的文字,這個(gè)事件就會(huì )被激發(fā),但它并不理會(huì )程序是否有狀態(tài)欄 
TitleChange  Title有效或改變時(shí)激發(fā) 

3程序原代碼詳解
3.1程序模塊介紹
本文中的網(wǎng)頁(yè)瀏覽器系統包括以下十個(gè)主要的模塊文件:
1  網(wǎng)頁(yè)瀏覽器.frm  瀏覽器的主窗體,用于顯示網(wǎng)頁(yè)內容以及菜單和工具欄。
2  Module1.bas,用于聲明各種常用的文件處理函數。

3.2.1整體介紹
 包括本文中的程序在內的任何瀏覽器的開(kāi)發(fā)中,其核心技術(shù)都利用了微軟公司提供的一個(gè)瀏覽器控件—WebBrowser。在Visual Basic 6.0中該控件不是默認就在工具箱里,需要用戶(hù)自己將它調出了,先選擇Visual Basic 6.0菜單中的“工程”—>“部件”,在彈出的對話(huà)框中選擇“Microsoft Internet Controls”,然后點(diǎn)擊“運用”后“確定”(如下圖3—2)。該控件就會(huì )以一個(gè)小地球的圖標出現在工具欄里。這樣就可以接著(zhù)完成后面的編程工作。

 主窗體圍繞著(zhù)WebBrowser控件共有70多個(gè)屬性,而其中的事件更是達上百個(gè),也是可見(jiàn)它在整個(gè)程序中的重要性。
3.2.2 PageSetup事件
   “PageSetup”菜單單擊事件的功能是如下圖3—4所示的頁(yè)面設計。
Private Sub mnu_PageSetup_Click ()
    brwWebBrowser (TabStrip1.Tabs (CurTab_Index).Tag).ExecWB OLECMDID_PAGESETUP, OLECMDEXECOPT_DODEFAULT
End Sub


3.2.3 “Find On this Page”事件
“Find On this Page”菜單單擊事件,彈出當前所瀏覽網(wǎng)頁(yè)內部查找對話(huà)框。
Private Sub mnu_EditFind_Click ()
On Error GoTo mnu_EditFind_Click_Error:
    SetFocusOnly = True
    TabStrip1.SetFocus
    brwWebBrowser (TabStrip1.Tabs(CurTab_Index).Tag).SetFocus
    SendKeys "^f"
    Exit Sub
mnu_EditFind_Click_Error:
    ShowErrorMessageBox ("mnu_EditFind_Click")
End Sub


3.2.4 AddToFavorites函數
AddToFavorites函數,將當前瀏覽的網(wǎng)頁(yè)添加到收藏夾。
Private Sub mnu_AddToFavorites_Click ()
On Error GoTo mnu_AddToFavorites_Click_Error:
    Call AddToFavorites
    Exit Sub
mnu_AddToFavorites_Click_Error:
    ShowErrorMessageBox ("mnu_AddToFavorites_Click") 
End Sub
3.2.5“Internet Options”事件
 “Internet Options”菜單單擊事件代碼,用于設置IE的屬性。
Private Sub mnu_InterNetOptions_Click ()
    Dim RetVal
    RetVal = Shell ("rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl", vbNormalFocus)
End Sub

 


3.4瀏覽器多頁(yè)面顯示和捕捉彈出窗口在瀏覽器內構想
 支持多頁(yè)面顯示和捕捉彈出窗口在瀏覽器內。這兩個(gè)功能是IE瀏覽器所不具備的,而實(shí)現這兩個(gè)功能的關(guān)鍵是brwWebBrowser_NewWindow2事件和NewTab、SetTabCaption兩個(gè)函數。在brwWebBrowser_NewWindow2事件中“Call NewTab (Me, URL, -99)”調用了NewTab函數,目的就是首先建立一個(gè)TAB。
 可以通過(guò)SSTAB這個(gè)控件來(lái)完成顯示多網(wǎng)頁(yè)的功能的,因此當有一個(gè)新的網(wǎng)頁(yè)需要顯示的時(shí)候,就需要新建一個(gè)TAB,而不是另外彈出一個(gè)窗口。而SetTabCaption函數的作用就是來(lái)設置TAB標題。
 
 
4.各種瀏覽器比較
 在瀏覽器市場(chǎng)中,由于各方面的原因IE一直都占據著(zhù)龍頭老大的地位,所以在比較中就以IE作為藍本。Opera瀏覽器可以縮放網(wǎng)頁(yè)的大小比例、調整網(wǎng)頁(yè)中的圖像、全屏瀏覽等等。傲游Maxthon游覽器中可以鏈接打開(kāi)一些系統工具。騰訊TT也可以縮放網(wǎng)頁(yè)的大小比例。這些都是我值得學(xué)習的地方,有點(diǎn)遺憾的是,本人的瀏覽器中不能查看網(wǎng)頁(yè)源碼,這是今后需要改進(jìn)的。對于瀏覽網(wǎng)頁(yè)安全的設置方面,Opera、傲游和騰訊TT比IE更直觀(guān),更便于用戶(hù)根據自己的實(shí)際情況來(lái)調整。另外,它們三者都可以更換軟件皮膚,使瀏覽器更加靚麗,而由于設計時(shí)間有限,在作品中來(lái)不及實(shí)現這個(gè)功能。
 它們三者都嵌入了相應的搜索鏈接,例如,傲游里嵌入了百度搜索。這個(gè)功能對于在當今這個(gè)內容紛雜繁多的網(wǎng)絡(luò )世界里快速高效的尋找到用戶(hù)自己想要的資源是非常重要的,是很人性化的設計。這也是值得我學(xué)習的。另外,騰訊TT可以根據用戶(hù)的IP地址判斷用戶(hù)所在的地區,再把該地區兩天的天氣發(fā)送到用戶(hù)端來(lái),在瀏覽器底部顯示。而且騰訊TT中還添加有多線(xiàn)程的颶風(fēng)下載器,可以加快用戶(hù)下載資源的速度。
 Opera、傲游和騰訊TT都是可以支持多頁(yè)面顯示的;但在捕捉彈出窗口功能卻略有差異,騰訊TT默認允許彈出窗口,在窗口下過(guò)濾此頁(yè)、過(guò)濾類(lèi)似的網(wǎng)頁(yè)、過(guò)濾全部彈出窗口的選擇,這也是因為不是每個(gè)彈出的窗口都是廣告,有些是網(wǎng)站的重要公告。傲游在這方面做的稍差點(diǎn),對于彈出的窗口只是像IE那樣先阻止再詢(xún)問(wèn)的處理方式。而Opera在這方面是把彈出窗口捕捉在瀏覽器內部,只不過(guò)它首先還是阻止窗口,然后顯示提示用戶(hù)操作窗口,如果用戶(hù)無(wú)動(dòng)作瀏覽器將默認為阻止了該彈出窗口。
 

【通信網(wǎng)絡(luò )設計課程設計簡(jiǎn)單瀏覽器的設計(一)】相關(guān)文章:

通信基本電路課程設計--調幅發(fā)射機設計(一)03-07

基于 DSP 的網(wǎng)絡(luò )通信程序設計03-20

通信網(wǎng)絡(luò )管理系統的設計要點(diǎn)探析03-29

迷宮問(wèn)題課程設計11-22

有效課堂的靜態(tài)網(wǎng)頁(yè)設計課程設計論文05-01

簡(jiǎn)單網(wǎng)絡(luò )實(shí)時(shí)消息傳遞工具的設計Java03-08

試論研究性學(xué)習的現代教育技術(shù)網(wǎng)絡(luò )課程設計11-21

課程設計論文致謝詞參考11-24

網(wǎng)絡(luò )環(huán)境的設計與應用11-13

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看