Что вызывает сообщение «Internet Explorer изменил эту страницу, чтобы предотвратить межсайтовые сценарии»?

Я пытаюсь реализовать обходной путь для отсутствующих функций CORS в Internet Explorer. Для запросов GET я использую JSONP, здесь нет проблем. Для небольших запросов POST/DELETE/PUT я также использую JSONP, туннелируя запросы через GET, но это не работает для больших запросов (поскольку длина URL-адреса GET ограничена). Поэтому для больших данных я пытаюсь реализовать форму POST через iframe. Я не могу прочитать ответ от этого POST из-за политики того же источника, поэтому я получаю ответ через запрос JSONP GET после публикации данных. Работает отлично, но иногда я получаю странное предупреждение в IE 9:

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

Сначала я задался вопросом, какого черта IE там делает, потому что даже когда появляется это предупреждение, все по-прежнему работает правильно. Затем я узнал, что IE заменяет содержимое скрытого iframe ПОСЛЕ ответа POST (который я все равно не могу прочитать и который мне нужен) символом «#».

Таким образом, мой обходной путь все еще работает, даже когда появляется это предупреждение, но я хотел бы знать, что именно вызывает это предупреждение, поэтому, возможно, я могу изменить свой обходной путь CORS, чтобы избавиться от этого предупреждения. Любые подсказки?

6
задан kayahr 15 June 2012 в 06:31
поделиться