1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 通信網(wǎng)絡(luò)設(shè)計(jì)課程設(shè)計(jì)簡單瀏覽器的設(shè)計(jì)(一)

        時間:2023-03-07 08:59:26 通信工程畢業(yè)論文 我要投稿
        • 相關(guān)推薦

        通信網(wǎng)絡(luò)設(shè)計(jì)課程設(shè)計(jì)簡單瀏覽器的設(shè)計(jì)(一)

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

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

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

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

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

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

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

         主窗體圍繞著WebBrowser控件共有70多個屬性,而其中的事件更是達(dá)上百個,也是可見它在整個程序中的重要性。
        3.2.2 PageSetup事件
           “PageSetup”菜單單擊事件的功能是如下圖3—4所示的頁面設(shè)計(jì)。
        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”菜單單擊事件,彈出當(dāng)前所瀏覽網(wǎng)頁內(nèi)部查找對話框。
        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函數(shù)
        AddToFavorites函數(shù),將當(dāng)前瀏覽的網(wǎng)頁添加到收藏夾。
        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”菜單單擊事件代碼,用于設(shè)置IE的屬性。
        Private Sub mnu_InterNetOptions_Click ()
            Dim RetVal
            RetVal = Shell ("rundll32.exe shell32.dll, Control_RunDLL Inetcpl.cpl", vbNormalFocus)
        End Sub

         


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

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

        課程設(shè)計(jì)報(bào)告07-20

        施工組織設(shè)計(jì)課程設(shè)計(jì)開題報(bào)告07-13

        小學(xué)美術(shù)傳統(tǒng)節(jié)日單元課程設(shè)計(jì)探析論文05-09

        論通信設(shè)計(jì)質(zhì)量的科學(xué)控制方法論文11-11

        網(wǎng)絡(luò)通信技術(shù)的作用03-30

        C語言程序設(shè)計(jì) (一)05-11

        畢業(yè)設(shè)計(jì)夾具設(shè)計(jì)開題報(bào)告09-02

        設(shè)計(jì)企業(yè)設(shè)計(jì)人員考勤管理思考05-04

        基于電話網(wǎng)絡(luò)的熱網(wǎng)遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)05-11

        探析多媒體校園通信網(wǎng)絡(luò)建設(shè)08-10

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>