Avatar billede athlon-pascal Juniormester
10. januar 2004 - 12:55 Der er 10 kommentarer og
1 løsning

Popupstopper i TWebBrowser

Jeg bruger EmbeddedWB fra http://www.euromind.com/iedelphi/embeddedwb.htm, der er en udvidet TWebBrowser (kan det samme som TWebBrowser + lidt mere).

Hvordan laver jeg en effektiv popupstopper i mit program?
Jeg kan naturligvis bruge OnNewWindow2-eventen, men det vil blokkere for alle popup-vinduer, selv dem der kommer når man højreklikker på et link og vælger åben i nyt vindue!

Jeg vil altså kun stoppe dem der popper op automatisk.

Jeg vil kunne fange dem på (Advarsel: Popup-vinduer!):
- http://www.popuptest.com/popuptest1.html
- http://www.popuptest.com/popuptest12.html
- http://www.popuptest.com/popuptest3.html

Men jeg vil ikke fange dem på http://www.popuptest.com/goodpopups.html

Jeg har Delphi 7 Personal under WinXP Prof.

På forhånd tak :o)
Avatar billede baxos Nybegynder
10. januar 2004 - 14:24 #1
ved ikke helt om man kan det men en lille ide hvis man kan
for source koden fra det site du er inde på og så check koden i body og hvis den laver en popup kan du dræbe den ??
Avatar billede athlon-pascal Juniormester
10. januar 2004 - 14:26 #2
baxos -> Måske - men der findes ret avancerede og forskellige metoder der kan omgå den slags forsøg - desuden kan javascripts jo også bruges til "lovlige" popups af den type der kommer ved tryk på et link...
Avatar billede baxos Nybegynder
10. januar 2004 - 14:27 #3
men det er en løsning :P
Avatar billede baxos Nybegynder
10. januar 2004 - 14:29 #4
<body topmargin=0 leftmargin=0 marginwidth=0 marginheight=0  onload="popup('http://www.popuptest.com/popup5.html', '_blank');popup('http://www.popuptest.com/popup6.html', '')" onunload="popup('http://www.popuptest.com/popup7.html', '_blank');popup('http://www.popuptest.com/popup8.html', '_8')">

netop denne linje
eks hvis body = 'onload="popup"' then ditdat ^^
Avatar billede baxos Nybegynder
10. januar 2004 - 14:30 #5
så er da bare et problem at ikke alle bodys har samme tags osv :(
Avatar billede athlon-pascal Juniormester
10. januar 2004 - 14:32 #6
Man kan også sætte onload via javascript, så det er _ikke_ en nem løsning. Og det er heller ikke alle javascripts jeg vil spærre for...
Desuden kan man også køre javascripts direkte udenom onload...
Avatar billede Slettet bruger
10. januar 2004 - 15:16 #7
Kan du ikke lave en boolean og sætte den til true, når du trykker på et link(eller vælger åbn i nyt vindue). Så kan du blokere alle vinduer hvor boolean'en ikke er sat til true??
Avatar billede athlon-pascal Juniormester
10. januar 2004 - 15:20 #8
Det lyder umidlbart som en god ide, men hvordan finder jeg ud af, om der er trykket på et link, eller om der er valgt åben i nyt vindue?
Avatar billede Slettet bruger
10. januar 2004 - 15:25 #9
Kan ikke få komponentet installeret(mangler Mshtml_tlb.pas), så hvordan man finder ud af om man har trykket på et link ved jeg ikke, men "Åben i nyt vindue" er vel i en menu, så der kan man vel bare sætte boolean til true i OnClick eventen.
Avatar billede athlon-pascal Juniormester
10. januar 2004 - 15:32 #10
hejhej -> Jeg bruger den interne popup-menu i IE-activex-controlen...
Avatar billede athlon-pascal Juniormester
23. januar 2004 - 15:56 #11
Lukketid :-(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester