久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

禁止IE彈出網(wǎng)頁和屏蔽網(wǎng)頁原理

 quasiceo 2012-12-29

禁止IE彈出網(wǎng)頁和屏蔽網(wǎng)頁原理

2467人閱讀 評論(0) 收藏 舉報

禁止IE的彈出網(wǎng)頁

實現(xiàn)原理

為了把事情的來龍去脈弄清楚,先從Internet Explorer的體系結構講起,。Internet Explorer包含一個名為WebBrowser控件的組件,,使用它可以輕易的將Web瀏覽器集成到新的或者已經(jīng)存在的應用程序中。通過這個控件,,程序可以控制整個瀏覽器的的工作,。

WebBrowser包含許多組件,其中很多是COM對象,,也就是說可以在應用程序中重復的使用它們,。如果想要掌握WebBrowser控件或自動化Internet Explorer,只要了解幾個組件就夠了,。如圖所示說明了Internet Explorer4.0的體系結構,。

 

    第一個組件是WebBrowser宿主,或稱為容器,,它是指任何一個可以重復使用的WebBrowser控件的應用程序,。WebBrowser控件既是ActiveX控件也是ActiveDocument宿主。由于它是Active控件,所以WebBrowser可以被任何一個ActiveX控件容器所掌握,。作為ActiveDocument服務器,。如果想加載.xls文件,WebBrowser控件將自動的加載Excel,。由Internet Explorer安裝,,用于讀取和顯示Web網(wǎng)頁,用戶再也不必親手創(chuàng)建便可以加載多個不同文件類型的應用程序了,,只要在程序中掌握WebBrowser控件就可以,。

    第二個組件為SHDOCVW(讀作sh-doc-view,是用shdocvw.dll實現(xiàn)的。它掌握WebBrowser控件,,并為宿主程序提供瀏覽功能,。不過雖然SHDOCVW提供了Internet瀏覽功能,但是它沒有Internet Explorer窗口提供的所有功能,。即使這樣,,SHDOCVW還是簡化了創(chuàng)建基于Web的應用程序的過程。

    第三個組件是MSHTML.如前所述,,MSHTML組件可以讀取和顯示HTML網(wǎng)頁,。MSHTML是一個ActiveX服務器,因此可以加載其作為ActiveDocument宿主的應用程序,。MSHTML也是一個ActiveX宿主控件,。要記住可以將ActiveX控件放在網(wǎng)頁上,MSHTML是掌管ActiveX控件的的控件,,而且MSHTML還可以掌管其他組件,,如Active腳本編程引擎,java應用程序以及插件等,。

    WebBrowser4個接口組成,,其中3個提供了其所有的功能(第4個接口DwebBrowserEvents2是為事件準備的)。在IE4.0之前,,只有兩個接口,,一個用于WebBrowser控件(IWebBrowser),另一個用于Internet Explorer對象(IWebBrowserApp),。IWebBrowserIwebBrowserApp具有許多相同的功能,。因此在為IE4.0擴展WebBrowser功能時,開發(fā)者決定創(chuàng)建第3個接口IWebBrowser2,,它是從兩個接口中派生出來的,。

    每次啟動IE的時候,操作系統(tǒng)都會調用WebBrowser.dll,。只要通過重新定義這個WebBrowser的操作屬性和控制屬性,,就可以實現(xiàn)對IE的完全控制,。禁止IE的彈出窗口就是這樣實現(xiàn)的。

    當用戶在下載一個網(wǎng)頁的時候,,IE瀏覽器的WebBrowser會獲得一些注冊事件,,這些事件被定義成DISPID常量,常用的幾個事件的標號如下所示:

    DISPID_BEFORENAVIGATE2

    DISPID_NAVIGATECOMPLETE2

    DISPID_DOCUMENTCOMPLETE

    DISPID_DOWNLOADBEGIN

    DISPID_DOWNLOADCOMPLETE

    DISPID_NEWWINDOW2

    DISPID_QUIT

    DISPID_BEFORENAVIGATE2

    從字面上不難理解,,DISPID_NEWWINDOW2事件就是需要處理的事件,,在這個事件里應該阻止彈出窗口出現(xiàn)。

    生成新的dll之后,,需要將它注冊,。下面來看看具體實現(xiàn)。

禁止瀏覽瀏覽某些網(wǎng)頁

網(wǎng)絡上的資訊有好有壞,,應該采取措施,,限制對某些網(wǎng)頁的瀏覽。

實現(xiàn)原理

和禁止彈出窗口原理一樣,,禁止瀏覽某些網(wǎng)頁的做法依舊是修改Internet ExploreWebBrowserCOM DLL庫,。通過重定義該DLL,就可以實現(xiàn)對IE的瀏覽設限功能,。

和禁止彈出窗口有所區(qū)別的是,,這次處理的事件是DISPID_BEFORENAVIGATE2事件就是在瀏覽器瀏覽網(wǎng)頁之前作預處理,從而實現(xiàn)對瀏覽站點的限制,。

 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多