Quelqu'un peut-il aider, j'ai quelques jquery et le chrome bloque le popup que je crée. Après quelques recherches, il semble être un problème avec window.open
en cas de succès d'un appel ajax. Y a-t-il un moyen de contourner cela? Mon appel jquery ajax doit renvoyer l'URL que j'ai besoin d'ouvrir et je suis donc coincé.Popup bloqué, jquery window.open en succès: AJAX? à l'extérieur ok
Si je place le open.window
en dehors de l'appel ajax que cela fonctionne, mais à l'intérieur (succès) il est bloqué. Je pense qu'il est quelque chose à voir avec le contexte, mais je ne suis pas sûr ...
Toutes les idées ont vraiment apprécié ...
Voici ce que j'ai:
window.open("https://www.myurl.com"); // OUTSIDE OF AJAX - no problems
// with popup
$.ajax({
type: "POST",
url: "MyService.aspx/ConstructUrl",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// Normally loads msg.d that is the url that is returned from service but put static url in for testing
window.open("https://www.myurl.com"); // THIS IS BLOCKED
},
error: function(msg) {
//alert(error);
}
});
Excellent! ça marche, merci beaucoup! –
Karim, vous venez de sauver ma journée! – jodeci
Quelle est l'utilisation d'AJAX (qui après tout signifie «Asynchronous Javascript And Xml») quand vous ne l'utilisez pas asynchrone? Il existe plusieurs alternatives, comme l'utilisation d'un modal, l'ouverture de la fenêtre avant la requête, l'affichage d'un texte de chargement et la redirection de la fenêtre à la fin. Je pense que c'est assez sale. – Aidiakapi