Jak zablokować reklamy w WebBrowser?

0

Witam, czy jest możliwość aby wyskakujące reklamy w webbrowser jakos blokowac?
lub chociaż coś takiego by webbrowser był "na górze" a te reklamy niech będą sobie gdzieś pod spodem itd.. ?

0

Masz na myśli wyskakujące okienka?

Jeżeli tak to w zdarzeniu NewWindow WebBrowsera wystarczy:

e.Cancel = True
0

sssc.png

chodzi mi o takie okienka , co zasłaniają właściwie przeglądarke jakimiś reklamami
wyjeżdżają z lewej / prawej, spadają gdzies z góry itp...

e.Cancel = True

nie pomaga w tym przypadku

0

A to jest Flash czy co?

0

tak to jest flash, mozna go całkiem wyłączyć w webbrowserze ?

1

No tu gorsza sprawa aby wyłączyć Flash to pasowało by zaimplementować IDispatch i obsłużyć DISPID_AMBIENT_DLCONTROL i tam pozbyć się flasha (nie wiem może podchodzi pod DLCTL_NO_DLACTIVEXCTLS) niestety nie ogarniam na tyle vb.NET aby to zrobić (w Delphi bez problemu) w necie też nie mogę znaleźć nic sensownego w tym kierunku...

Dlatego pomyślałem aby w DocumentCompleted pozbyć się niechcianych obiektów metodą removeChild interfejsu IHTMLDOMNode tu też kolejny problem IHTMLDOMNode w vb.NET jest niezaimplementowany (albo nie mam pojęcia gdzie też w Google nie mogłem znaleźć) więc pozostało chamskie wyczyszczenie poprzez ustawienie OuterHtml="" (mozesz sobie dla testu ustawić np: OuterHtml = "<div style=""color:#FF0000;"" >REKLAMA</div>" . Całość wygląda mniej więcej jak w przykładzie i skuteczna (o ile domyśliłem się co to za strona no i nie wiem jak z reklamami po zalogowaniu) . W DocumentCompleted dodaj:

        If (WebBrowser1.Document IsNot Nothing) Then
            Dim Elems As HtmlElementCollection
            Dim id As String

            Elems = WebBrowser1.Document.GetElementsByTagName("DIV")
            For Each elem As HtmlElement In Elems
                id = elem.GetAttribute("id")
                If (id.IndexOf("bmone") = 0) Then 'id div zawierajacych reklamy zaczyna sie od bmone
                    elem.OuterHtml = ""
                End If
            Next

            Elems = WebBrowser1.Document.GetElementsByTagName("OBJECT") 'na wszelki wypadek
            For Each elem As HtmlElement In Elems
                elem.OuterHtml = ""
            Next
        End If

Jak czegoś jeszcze nie "blokuje" to poszukaj co to jest w HTML i zrób podobnie jak wyżej.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.