ПОДХОД 1: Помещение некоторых атрибутов песочницы в IFRAME (встроено в страницу усилителя) и использование target='_top'
внутри <iframe>
кода.
IFRAME:
trypower2.starzshows.com/starzshows/tracker.html
<a target="_top" href="https://www.starz.com?">WATCH</a>
HTML-страница AMP:
<amp-iframe
src="https://trypower2.starzshows.com/starzshows/tracker.html"
layout="responsive"
frameborder="0"
height="36"
width="243"
sandbox="
allow-top-navigation-by-user-activation
allow-scripts
allow-same-origin
allow-top-navigation
allow-forms
allow-presentation
"
></amp-iframe>
Выдает ошибку ниже:
Небезопасная попытка JavaScript инициировать навигацию для фрейма с источником 'https://trypower -starzshows-com.cdn.ampproject.org ' из фрейма с URL 'https://trypower2.starzshows.com/starzshows/tracker.html#amp=1'. Фрейм, пытающийся перейти песочница, и поэтому не разрешено ориентироваться в своих предках.
ПОДХОД 2:
Передавая сообщение на родительскую страницу от js of IFRAME вместо прямого манипулирования местоположением, я не получаю никакого ответа, как будто ничего не произошло.
Ниже приведен код второго подхода:
IFRAME:
<a href="https://www.starz.com/buy-starz/signup?" onclick="aqueue('cta')">WATCH</a>
HTML-страница AMP:
<amp-iframe
on="message:AMP.navigateTo(url='https://www.starz.com/buy-starz/signup?')"
src="https://trypower2.starzshows.com/starzshows/tracker.html"
layout="responsive"
frameborder="0"
height="36"
width="243"
sandbox="
allow-top-navigation-by-user-activation
allow-scripts
allow-same-origin
allow-top-navigation
allow-forms
allow-presentation
"
></amp-iframe>
JS IFRAME (вызывая этот метод по щелчку якоря):
К вашему сведению: я использовал https://search.google.com/test/amp для проверки страницы усилителя.
Iframe, страница amp и якорь (href) принадлежат разным доменам.