[..] Bloquer les Pop-up dans le webbrowser?

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
TILK
Niveau 2
Niveau 2
Messages : 20
Enregistré le : sam. 28 juil. 2012 23:42
Status : Hors ligne

[..] Bloquer les Pop-up dans le webbrowser?

#1

Message par TILK »

Bonjour,

Je cherche à bloquer les fenêtres Pop-up du webbrowser que j'ai fait avec AutoIt. Pour que celles-ci ne puissent pas s'ouvrir dans internet explorer à coté de mon navigateur made in AutoIt.

Sous Visual Basic, il existe une fonction :

Code : Tout sélectionner

 e.Cancel = True
 
Sous VB ça se passe comme ça :
http://www.daniweb.com/software-develop ... new-window

Par contre sous AutoIt je n'ai rien trouvé de similaire!
Modifié en dernier par TILK le dim. 29 juil. 2012 15:50, modifié 1 fois.
TILK
Niveau 2
Niveau 2
Messages : 20
Enregistré le : sam. 28 juil. 2012 23:42
Status : Hors ligne

Re: [..] Bloquer les Pop-up dans le webbrowser?

#2

Message par TILK »

Topic mis en règle, j'attends votre aide maintenant :D
TILK
Niveau 2
Niveau 2
Messages : 20
Enregistré le : sam. 28 juil. 2012 23:42
Status : Hors ligne

Re: [..] Bloquer les Pop-up dans le webbrowser?

#3

Message par TILK »

Personne ne connait de solution? :(
Avatar du membre
TopXm
Niveau 6
Niveau 6
Messages : 260
Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status : Hors ligne

Re: [..] Bloquer les Pop-up dans le webbrowser?

#4

Message par TopXm »

Hello :)

Si j'ai bien capté ta question, sous VB ce dont tu parles ce sont des modules de classe que tu peux personnaliser via des Property Get / Let

Perso, je ne connais pas d'équivalent en AutoIT. Par contre tu ne pourrais pas faire passer un paramètre supplémentaire dans tes fonctions
dépendant d'une variable Globale définie en début de code et pouvant varier ? Ce n'est pas très clair mes histoires :?:

En gros, si j'ai bien compris ta question, çapourrait faire un truc du style
► Afficher le texteBout de code
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Bloquer les Pop-up dans le webbrowser?

#5

Message par timmalos »

Alors j'ai essayé de fouiller dans msdn.
La première solution qui est proposée par msdn, mais ne marche pas chez moi, à essayer:
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
Rajoutez ceci après la creation de votre DWebBrower.

Code : Tout sélectionner

$oIE.RegisterAsBrowser = 1

Avec AutoIt on ne peut malheureusement pas faire comme en VB et annuler l'ouverture de la fenetre en capturant l'evenement:
The AutoIt event handling model, unfortunately, handles events asynchronously. Therefore, you don't hear about the event in AutoIt until it is already occurred in your cancel operation has no effect
Du coup il reste une seule solution : Utiliser _IEHeadInsertEventScript.
par exemple ce code va bloquer le click de tous les liens ayant un target="_blanck" (donc que le navigateur veut ouvrir dans une autre fenetre)

Code : Tout sélectionner

$oLinks = _IELinkGetCollection($oIE)
For $oLink in $oLinks
    If string($oLink.target) = "_blank" Then
        $sLinkId = _IEPropertyGet($oLink, "uniqueid")
        _IEHeadInsertEventScript($oIE, $sLinkId, "onclick", "return false;")
    EndIf
Next
 
C'est à adapter, en supprimant simplement le target="_blank" par exemple, et il faut le faire a chaque nouvelle page. Si l'utilisateur clique sur un lien qui recharge la page, il faudra repérer cet evenement et refaire ce bout de code pour enlever les target="_blank"
TILK
Niveau 2
Niveau 2
Messages : 20
Enregistré le : sam. 28 juil. 2012 23:42
Status : Hors ligne

Re: [..] Bloquer les Pop-up dans le webbrowser?

#6

Message par TILK »

merci, je crois que je vais laisser tomber, c'est trop compliqué.

La première méthode ne fonctionne pas et la deuxième méthode fait que mon programme ne s'ouvre même plus.

C'est quand même fou... je pensais qu'il existait une méthode pour interdire l'ouverture d'internet explorer pendant l'utilisation de mon programme. :?
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Bloquer les Pop-up dans le webbrowser?

#7

Message par timmalos »

Si c'est la seule chose qui vous preoccupe, on peut toujours regarder le nombre d'instances IE ouvertes quand votre programme se lance, et si une nouvelle apparait dans les processus, on la kill aussitot.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Bloquer les Pop-up dans le webbrowser?

#8

Message par Tlem »

Voici quelques liens trouvé sur le forum US qui pourront éventuellement aider. Certains semblent avoir quelques bonnes idées :
http://www.autoitscript.com/forum/topic ... locker-cod
http://www.autoitscript.com/forum/topic ... -a-webpage
http://www.autoitscript.com/forum/topic ... utspopups/

Bonne lecture. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
TILK
Niveau 2
Niveau 2
Messages : 20
Enregistré le : sam. 28 juil. 2012 23:42
Status : Hors ligne

Re: [..] Bloquer les Pop-up dans le webbrowser?

#9

Message par TILK »

Merci, je lis ça dès que j'ai le temps!
TILK
Niveau 2
Niveau 2
Messages : 20
Enregistré le : sam. 28 juil. 2012 23:42
Status : Hors ligne

Re: [..] Bloquer les Pop-up dans le webbrowser?

#10

Message par TILK »

Je pense avoir peut-être trouvé une solution mais j'ai besoin de votre aide.
Savez comment bloquer/fermer une certaine page (connu d'avance) qui voudrez s'ouvrir?

Je pense qu'il faut faire une boucle while mais je ne sais pas comment m'y prendre.
Avatar du membre
TopXm
Niveau 6
Niveau 6
Messages : 260
Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status : Hors ligne

Re: [..] Bloquer les Pop-up dans le webbrowser?

#11

Message par TopXm »

Hello,
TILK a écrit :Savez comment bloquer/fermer une certaine page
ça n'a rien à voir avec AutoIT mais pour le filtrage internet le fichier Hosts remplit aussi cette mission
Répondre