如何屏蔽加载网页里的广告,不是弹出的那种广告,是嵌入在加载的网页里的那种,从网页源码里看是调用的诸如show_ads.js这样的脚本.

解决方案 »

  1.   

    WebBrowser有个BeforeNavigate2事件,可以取消加载某些url。
    脚本估计比较麻烦。建议试下HTMLLayout,
    这个可以实现很干净的网页展示
      

  2.   

    WebBrowser中有这样一个事件NewWindow2,其中有两个参数:
    var ppDisp: IDispatch; var Cancel: WordBool
    第一个参数是变参,用于指定新窗口
    第二个参数也是变参,用于控制是否可以触发NewWindow2事件,当我们浏览一个页面的时候,如果有弹出窗口的话,我们就可以用第一个参数,把弹出的窗口,截取到另一个WebBrowser里面了。
    ppDisp:=WebBrowser_NewWin(截取弹出窗口).Application;
    也可以不截取,不让触发,Cancel:=True就可以了。
    本文来自Delphi之窗,原文地址:http://www.52delphi.com
      

  3.   

    人家说的很清楚了,不是弹出广告,而是内嵌广告NewWindow2, 自然是无效的。
    屏蔽脚本估计比较困难,只能通过ie控制是否执行脚本。
    另外维护一个广告地址列表加以屏蔽。。