У меня есть веб-приложение поставщика, которое находится внутри фрейма и просматривается с помощью IE 11 как в Wondow7, так и в Windows 10. Режим эмуляции установлен по умолчанию (Edge). Приложение большую часть времени работает корректно. Однако приложение будет случайным образом отображать страницу с ошибкой «Это содержимое не может быть отображено во фрейме». Устанавливаемые заголовки:

  • Параметры X-Frame: SAMEORIGIN
  • X-Powered-By: Сервлет/3.1
  • X-XXS-защита: 1; режим-блок

Весь контент исходит из одного домена.

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

0
John Norris 5 Дек 2019 в 22:44

1 ответ

Вы можете попробовать изменить значение X-XSS-Protection на 0. Из этого ответа мы видим, что :

Токен mode=block не позволит браузеру (браузерам IE8+ и Webkit) отображать страницы (вместо очистки), если обнаружена потенциальная атака отражения XSS (= непостоянная).

Так что это может быть причиной того, что контент иногда не может отображаться.

Кроме того, если вы пытаетесь открыть страницу HTTPS с сайта без SSL, вы также можете получить такую ​​​​ошибку. Вы можете обратиться к этой теме .

0
Yu Zhou 6 Дек 2019 в 08:34
Пробовал это. К сожалению, это не решило проблему. Проблема не в том, что он не отображает контент, а в том, что он будет отображать контент в течение определенного периода времени, а затем случайным образом отображать страницу с ошибкой контента без взаимодействия с пользователем.
 – 
John Norris
17 Дек 2019 в 20:56
Вы установили X-Frame-Options: SAMEORIGIN, тогда IE будет блокировать рендеринг только в том случае, если источник контекста просмотра верхнего уровня отличается от источника содержимого, содержащего директиву X-FRAME-OPTIONS. При отображении ошибки может быть какой-то междоменный контент, который пытается отобразиться. Вы можете использовать вкладку «Сеть» инструментов разработчика F12 и Fiddler, чтобы отслеживать сеть, чтобы увидеть, есть ли что-то другое, когда возникает ошибка. Это может помочь сузить круг вопросов.
 – 
Yu Zhou
18 Дек 2019 в 10:00