0

Ich versuche, eine Web-Anwendung in einem neuen Popup-Fenster zu laden, das auf einer anderen Domäne von meiner Anwendung sitzt, mit einer Post-Anfrage (Es muss sein Post Anfrage!). Internet Explorer gibt mir eine Zugriff verweigert Nachricht, wenn versucht wird, auf das Dokumentobjekt des Fensters zuzugreifen. Ich versuchte andere Antworten in ähnlichen SO-Threads gepostet, aber hatte kein Glück ...IE 11 Zugriff beim Versuch, auf Popup zugreifen zu können window.document

Hinweis: Ich kann '' oder 'about:blank' für die URL nicht verwenden, weil IE es für unsicher erachtet.

Hier ist, was zur Zeit mein Code macht

  1. erstellen Fenster Objekt
  2. generieren Formular in JavaScript
  3. Bringen Form Körper des Fensters. // Zugriff abgelehnt!

Code:

var win = window.open(url, windowname, params); 
var form = $(document.createElement('form')) 
       .attr('action', action) 
       .attr('method', 'post'); 
$(win.document.body).html(form.html()); // access denied! 
+0

so nur ein Formular zur Seite hinzufügen und das Ziel leer gesetzt. – epascarello

Antwort

1

Haben Sie Zugriff auf den Quellcode der Inhalte, die in dem Popup geladen werden?

Wenn dies ja versuchen:

Warum statische HTML nicht zu Ihrem Pop-up-Fenster verwenden (i suggest you to use modals) und das atributes gesetzt, indem sie von POST oder GET params receiveing.

In kleineren Worten: erkunden Sie besser Ihr Back-End und vermeiden Sie, DOM Manipulation und POPUPS zu verwenden.

Wenn die Antwort nein:

Try this: https://stackoverflow.com/a/7397164/5261900

+0

Danke für die Antwort Ich werde versuchen, den zweiten Link, den Sie bereitgestellt haben. Leider habe ich keinen Zugriff auf den Back-End-Code. Wenn ich das täte, würde ich überhaupt nicht einmal eine POST-Anfrage verwenden (besonders beim Laden eines Fensters). :/ – HaloMediaz

+0

@HaloMediaz Wenn Sie möglicherweise von Popup auf Iframe umschalten, erhalten Sie mehr Möglichkeiten, mit dem DOM des externen Inhalts umzugehen. Es kann auch Browser-Popup-Blöcke verhindern. –

Verwandte Themen