Was löst aus? "Internet Explorer hat diese Seite geändert, um Cross-Site-Scripting zu verhindern."

Ich versuche, eine Problemumgehung für fehlende CORS-Funktionalität in Internet Explorer zu implementieren. Für GET-Anfragen verwende ich JSONP, hier kein Problem. Für kleine POST / DELETE / PUT-Anforderungen verwende ich auch JSONP, indem ich die Anforderungen durch GET tunnele, dies funktioniert jedoch nicht für größere Anforderungen (da die Länge der GET-URL begrenzt ist). Bei großen Datenmengen versuche ich, einen Formular-POST über einen Iframe zu implementieren. Ich kann die Antwort aus diesem POST aufgrund der gleichen Herkunftsrichtlinie nicht lesen. Daher rufe ich die Antwort über eine JSONP-GET-Anforderung ab, nachdem ich die Daten gesendet habe. Funktioniert prima, aber manchmal wird in IE 9 eine seltsame Warnung angezeigt:

Internet Explorer has modified this page to help prevent cross-site scripting.

Zuerst habe ich mich gefragt, was zum Teufel der IE da macht, denn auch wenn diese Warnung erscheint, funktioniert alles noch richtig. Dann fand ich heraus, dass der IE den Inhalt des versteckten Iframes NACH der POST-Antwort (die ich sowieso nicht lesen kann und benötige) durch ein "#" ersetzt.

Meine Problemumgehung funktioniert auch dann noch, wenn diese Warnung angezeigt wird. Ich möchte jedoch wissen, was genau diese Warnung auslöst, damit ich möglicherweise meine CORS-Problemumgehung ändern kann, um diese Warnung zu beseitigen. Irgendwelche Hinweise?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage