Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2011, 17h13   #1
Membre à l'essai
 
Avatar de gojira
 
Inscription : mars 2006
Messages : 89
Détails du profil
Informations personnelles :
Âge : 36
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 89
Points : 23
Points : 23
Envoyer un message via MSN à gojira
Par défaut Simulation d'un click sur un anchor href

Bonjour,

Je ne savais pas trop si le problème est lié au javascript générique ou à jQuery, alors à tout hasard je le poste ici. Désolé si je me suis trompé de forum.

Je sais que cette question a été beaucoup posée, mais j'ai essayé les réponses trouvées sur le net et je n'ai pas eu de succès.

Je vous expose mon problème

initialement j'ai une page jsp qui possède une ancre, et lors du clic sur cet ancre se produit un appel javascript qui lance un processus ajax.
Ce processus ajax lorsqu'il est finalisé permet de renvoyer un URL qui est ouvert avec window.open

Seulement voilà, le soucis sont les bloqueurs de popup. Car les URL ouverts avec window.open sont reconnus comme des popup.

Mais un test réalisé par un "clic" sur le lien href d'une ancre "a", montre que l'URL est ouverte dans une nouvelle fenêtre sans être détecté comme étant une popup.

J'ai donc eu l'idée (mauvaise?) de mettre dans la jsp une ancre vide

Code :
<a id="link1" name="link1" href="" target="_blank"></a>
Et en sortie de requête ajax de l'ouvrir de la façon suivante:

Code :
1
2
3
4
5
6
7
8
9
10
$jQuery.ajax({
    type: 'POST',
    url: '${pageContext.request.contextPath}/ajax/zejsp.jsp',
    data:params,
    cache: false,
    success: function(dataInfos) {
    		      	$jQuery('#link1').attr('href', dataInfos);
		      	$jQuery("#link1").click();
                 }
});

"window.open(dataInfos)" marche parfaitement mais est bloqué par les popup blockers
"window.location = dataInfos" marche parfaitement mais je veux ouvrir le lien dans une autre fenêtre ou onglet

en surfant sur le net j'ai trouvé des solutions comme

Code :
1
2
3
4
5
6
7
8
 
$jQuery("#link1").triggerHandler('click');
 
$jQuery("#link1").trigger('click');
 
var e = document.createEvent('MouseEvents');
e.initEvent( 'click', true, true );
$jQuery("#link1").dispatchEvent(e);
mais ça ne fonctionne pas.

Avez vous des idées? Ou des corrections à apporter sur un appel que je n'aurais pas fait correctement?

Merci à toutes et à tous par avance

Cordialement
gojira
__________________
mon site sur la culture japonaise: http://www.ten-ryu.org
gojira est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h34.


 
 
 
 
Partenaires

Hébergement Web