Co powoduje „Internet Explorer zmodyfikował tę stronę, aby zapobiec skryptom między witrynami”?

Próbuję zaimplementować obejście brakującej funkcji CORS w programie Internet Explorer. Dla żądań GET używam JSONP, tutaj nie ma problemu. Dla małych żądań POST / DELETE / PUT używam również JSONP poprzez tunelowanie żądań przez GET, ale nie działa to dla większych żądań (ponieważ długość URL-a GET jest ograniczona). Tak więc w przypadku dużych danych próbuję zaimplementować formularz POST za pośrednictwem ramki iframe. Nie mogę odczytać odpowiedzi z tego testu POST z powodu polityki tego samego pochodzenia, więc pobieram odpowiedź za pośrednictwem żądania GET JSONP po opublikowaniu danych. Działa świetnie, ale czasami dostaję dziwne ostrzeżenie w IE 9:

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

Najpierw zastanawiałem się, co u diabła robi IE, ponieważ nawet gdy pojawi się to ostrzeżenie, wszystko nadal działa poprawnie. Następnie dowiedziałem się, że IE zastępuje zawartość ukrytej ramki ifr PO POST odpowiedzi (której i tak nie mogę odczytać i potrzebuję) znakiem „#”.

Tak więc moje obejście nadal działa nawet wtedy, gdy pojawia się to ostrzeżenie, ale chciałbym wiedzieć, co dokładnie uruchamia to ostrzeżenie, więc może mogę zmodyfikować obejście CORS, aby pozbyć się tego ostrzeżenia. Jakieś wskazówki?

questionAnswers(1)

yourAnswerToTheQuestion