Kann mir jemand helfen, ich habe etwas Jquery und Chrome blockiert das Popup, das ich erstelle. Nach einigen Untersuchungen scheint es ein Problem mit window.open
im Erfolgsfall eines Ajax-Aufrufs zu sein. Gibt es einen Weg dahin? Mein JQuery Ajax-Aufruf muss die URL zurückgeben, die ich öffnen muss, und so bin ich ein bisschen hängengeblieben.Popup blockiert, jquery window.open im Erfolg: AJAX? outside ok
Wenn ich die open.window
außerhalb des Ajax aufrufen, dass es funktioniert, aber innerhalb (Erfolg) ist es blockiert. Ich denke, es hat etwas mit CONTEXT zu tun ist, aber ich bin nicht sicher, ...
Irgendwelche Ideen wirklich zu schätzen ...
Hier ist, was ich habe:
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! Es funktioniert, vielen Dank! –
Karim, du hast gerade meinen Tag gerettet! – jodeci
Was ist die Verwendung von AJAX (was bedeutet "Asynchronous Javascript And Xml"), wenn Sie es nicht asynchron verwenden? Es gibt mehrere Alternativen, z. B. die Verwendung eines Modals, das Öffnen des Fensters vor der Anforderung, das Anzeigen eines Ladetextes und das Weiterleiten des Fensters nach Abschluss. Ich denke, das ist ziemlich dreckig. – Aidiakapi