中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

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

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

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

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

實現(xiàn)原理

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

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

 

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

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

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

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

    每次啟動IE的時候,操作系統(tǒng)都會調(diào)用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事件就是需要處理的事件,在這個事件里應(yīng)該阻止彈出窗口出現(xiàn)。

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

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

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

實現(xiàn)原理

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

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

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
WPF 與網(wǎng)頁交互(Frame,WebBrowser)(
MOX.cc [C#:在WebBrowser控件中阻止alert[警告框],confirm...
webbrowser控件屏蔽網(wǎng)頁錯誤
WEB 自動化測試演示
BHO編程
迄今為止最完美的VB網(wǎng)頁采集方案(附核心代碼)
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服