Для начала небольшое техническое предисловие.
Sandbox - это песочница для iframe, устанавливается через атрибут sandbox="" для ограничений на загружаемый фрейм, чтобы повысить безопасность текущей страницы.
Сразу скажу, всё, что вы указали в атрибутах, будет наследоваться и на другие сайты, которые были открыты через скрипт window.open(uri) или ссылки <a href="uri" target="blank">. Любые обновления страниц с кешем и без, переходы на другие сайты в новых вкладках будут сохранять флаги песочницы, пока вы не закроете вкладку браузера.
Разберем самый основной список правил (перечисляются через пробел для iframe):
allow-forms - разрешает работу форм на вложенной странице;
allow-pointer-lock - включает API-интерфейсы на вложенной странице;
allow-orientation-lock - разрешает API для управления ориентацией экрана;
allow-popups - разрешает отображение всплывающих окон на вложенной странице;
allow-same-origin - воспринимает вставляемый документ, как документ загруженный из того же источника, что и основной документ;
allow-scripts - разрешает работу скриптов на вложенной странице;
allow-top-navigation - разрешает содержимому вставляемого документа получать доступ к элементам верхнего уровня (документам, окнам);
allow-popups-to-escape-sandbox - позволяет помещенному в песочницу документу открывать новые окна, не навязывая им флаги песочницы. Это позволит, например, безопасно изолировать стороннюю рекламу, не применяя те же ограничения к странице, на которую ссылается реклама.
А теперь сам цимес: есть такой популярный сервис, как ЯндексВидео, который агрегирует видео со всего интернета. Вы можете смотреть видео прямо на Яндексе, смотреть встроенную рекламу, при этом свои цели реализуют и рекламодатели, и клиенты, всё работало прекрасно до начала июня месяца.
И уже в июне рекламодатель может получить клиента, который накидает товаров в корзину, захочет оплатить, но тут его будет ждать сюрпрайз ****. Нативные формы перестали работать из-за политики фрейма sandbox="allow-same-origin allow-scripts allow-presentation allow-popups"
, и об этом вам никто не скажет, пока вы не зайдёте в консоль разработчика, ну либо вас засыпет недовольством от клиентов, которые не могут оплатить товар.
Кстати mail.ru поиск-видео также страдает той же бедой. Я проверил это на всех популярных браузерах – Chrome, Safari, Safari IOS. FF - вообще не показывает ошибок, как будто, так и надо =)
Прикладываю вам пару видео воспроизведения бага. Я специально выбрал видео из дзен платформы.
Странность в том, что я отписал в поддержку ЯндексВидео, они сначала баг признали, несколько менеджеров поменялось в череде ответов, и в итоге все закончилось тем, что очередной специалист ответил, что проблемы не видит. Бинго, приятное каждому рекламодателю и клиенту, которому придется идти непосредственно на сайт продавца, совершать лишние дополнительные действия для совершения покупки или другого действия.
FFxSquall
Это точно не нововведения браузеров в плане обращения с сайтами открытыми через iframe sandbox? Просто давно игрался с sandbox аттрибутом и вроде бы таких проблем не было, то есть ограничения работали именно в самом iframe, но не во вкладках которые он породил.